gpt4 book ai didi

c - fwrite() 没有写入指定次数的数据

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:06 25 4
gpt4 key购买 nike

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);
}

上面的代码有效,在 out.txt 文件中写了 12 次“milo banana”,但是为什么第一个代码不起作用根据定义不是真的

最佳答案

不,根据定义,这不是真的。

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 The fwrite function writes, from the array pointed to by ptr, up to nmemb elementswhose size is specified by size, to the stream pointed to by stream.

“元素个数”参数用于写入数组的连续元素,而不是重复写入相同的数据。

关于c - fwrite() 没有写入指定次数的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37719184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com