0%

前言

笔者使用的MacBook Air,256G闪存,可用空间约251G,曾经的分区表为:

(这是使用diskutil list命令输出的结果)

GUID分区表,共四个分区,分别是EFI引导分区、APFS的Mac主分区(在更新macOS 10.13之前为HFS+)、NTFS的Bootcamp分区以及Windows Recovery分区。
在最初安装Bootcamp时,考虑到Windows系统只是用来运行某些没有macOS版本或无法移植到macOS的程序(例如《红色警戒2》),Bootcamp分区的大小仅分配了35G。然而,在8月中旬昆特牌国服开启公测后,入坑的笔者发现Bootcamp分区的大小似乎不够用了。

由于Bootcamp是磁盘上靠后的分区,并不能用常规操作向前扩充,吞并APFS分区的空间(DiskGenius使用计算器+手动改分区表数据似乎属于非常规操作,且面临着分区出现问题的危险),所以只能考虑备份Bootcamp分区内容,然后将其移除,并在主硬盘上重新划分Bootcamp分区。
不过,新的问题又产生了:Mac主分区的大小也很有限(毕竟是安装了Adobe全家桶、Autodesk Maya、XCode等程序的),并不足以重新划分出较大的Bootcamp分区以安装Windows。于是只得寻求其他解决方案。比较显而易见的解决方案有:

  • 换个Mac(没有了信仰灯和MagSafe)
  • 换个硬盘(MacBook Air的闪存是BGA封装的,并不能像SATA的SSD那样直接拆)
  • 装个SD卡(高性能大容量的SD卡价格感人,并且不适合NTFS文件系统)

这些都不是最优解。在综合了各方面的考虑后,最终选定了如下方案:

  • 使用移动硬盘,一个分区做Win To Go,另一个分区做Time Machine备份。其中移动硬盘选择的是西数Elements 500G。
阅读全文 »

编写C语言控制台程序时,如果使用scanf()函数作为输入,往往需要解决非法输入的问题。比如以下情况:

1
2
3
printf("输入一个0~9的整数a\n");
int a;
scanf("%d", &a);

此时可能出现如下几种典型的非法输入:

  • 123
  • 123xyz
  • xyz123

对于第一种,使用if判断a的范围是否满足要求即可。第二种和第三种则较为复杂,因为其中涉及到了字符的输入。第二种情况,scanf()会将123存入a,而xyz留在了输入缓冲区;第三种情况,scanf()不会读取任何数据,xyz123都留在了输入缓冲区。
如果只是判断这一次输入的合法性,可以利用scanf()的返回值。如果输入有效,scanf()会返回1,否则返回0。由此可以排除scanf()无法读取的输入。

阅读全文 »

Power of Logic是一个推理游戏,玩家的任务是用尽可能少的时间和步骤解开密码序列。当你输入不同的数字序列时,系统会给出提示,指示你输入的数字序列中,有多少个数字正确但位置错误,又有多少个数字和位置都正确。可惜这一游戏已经不再维护和更新了,最新的iOS设备上甚至无法下载。不过考虑到它的核心逻辑并不复杂,笔者用C语言写了一个低配版。

运行效果如图:

下面附上最终版本的代码。

阅读全文 »

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment