【发布时间】:2021-12-20 12:30:17
【问题描述】:
当写入以文本模式打开但不以二进制模式发生的文件时,会发生什么转换?特别是在 MS Visual C 中。
unsigned char buffer[256];
for (int i = 0; i < 256; i++) buffer[i]=i;
int size = 1;
int count = 256;
二进制模式:
FILE *fp_binary = fopen(filename, "wb");
fwrite(buffer, size, count, fp_binary);
与文本模式:
FILE *fp_text = fopen(filename, "wt");
fwrite(buffer, size, count, fp_text);
【问题讨论】:
-
这个问题的动机是我想恢复在文本模式下无意中写入磁盘的二进制数据。