对“写入文件二进制”理解不深:
数据本质上是二进制的,所以人看到就是乱码。 (数据本身是正确的,是那些整数的二进制计算机内部表示, 只不过不是给人看的,是给机器看的。)
这是由各种类型的数据在计算机内部的存储格式决定的。 char a[20], b[10]; 之类的字符型数据,用 fwrite() 写入文件后可以直接看到。 但 int x; float y, z; 之类的数值型数据,就无法直接看懂了, 要用 fprintf(fp, "%d, %f, %f\n", x, y, z); 写入文件才能由人直接看懂。