int main(void)
{
FILE* out = fopen("out.txt", "w");
string buffer = "Milo Banana\n";
fwrite(buffer, 12, 12, out);
fclose(out);
}
上面的代码不会在out.txt文件中写入12次数据,但是当我使用循环时它会工作
int main(void)
{
FILE* out = fopen("out.txt", "w");
string buffer = "Milo Banana\n";
for(int i = 0; i < 12; i++)
{
fwrite(buffer, 12, 1, out);
}
fclose(out);
}
上面的代码可以正常工作并编写&#34; milo banana&#34;在out.txt文件中12次但是 为什么第一个代码根本无法正常工作
答案 0 :(得分:2)
不,根据定义,这不是真的。
N1570 7.21.8.2 fwrite函数说:
#include <stdio.h> size_t fwrite(const void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream);
[...]
2 fwrite函数从ptr指向的数组写入nmemb元素 其大小由size指定,指向stream指向的流。
“元素数”参数用于写入数组的连续元素,而不是重复写入相同的数据。