代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void main()
{
FILE* fp = fopen("aaa.txt", "rb+");
if (fp == NULL) {
return;
}
if (_fseeki64(fp, 0, SEEK_END) != 0) {
return;
}
long long size = _ftelli64(fp);
if (size < 0) {
return;
}
if (_fseeki64(fp, 0, SEEK_SET) != 0) {
return;
}
char buf[1024];
if (fread(buf, 20, 1, fp) != 1) {
return;
}
if (fwrite("test", 5, 1, fp) != 1) {
return;
}
fclose(fp);
}
aaa.txt的内容(刚好20个字节):
aaaaaaaaaaaaaaaaaaaa
vc2010和vc2015结果都一样,在fwrite那里出错。期望fwrite返回1,实际返回0。errno为0。
实在想不出原因,请教一下大家。多谢帮忙。