首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

c语言 fwrite问题

发布网友 发布时间:2022-04-26 23:35

我来回答

2个回答

热心网友 时间:2022-06-20 05:49

看你的代码,只写了一次,想反复写入自然要执行多次fwrite函数,执行次数如果已知一般用for循环,次数未知但是结束写入的条件知道一般用while循环,举个简单例子:
int i=0;
for(i; i<10; i++)
fwite(outfile,strlen(outfile),1,fp);

这里就会写入10次outfile到文件流fp中,如果打开方式是w+(追加),自然能看到写入的10次数据。

你在多次写入时不要多次打开,就是循环语句不要把fopen函数也包含起来。

写入方式:
w 写
+ 追加
b 二进制
wb+ :以追加写方式打开二进制文件,文件存在则追加,不存在则创建。追问对不起是我的错 我的完整代码是这样的:
int main()
{
FILE *fp;
int count = 0;
fp = fopen("./power.txt","wb");
if(fp == NULL)
{
perror("fopen");
exit(1);
}
do
{
count = fwrite("hello",5,1,fp);
printf("count = %d\n",count);
if(count != 1)
{
perror("fwrite");
exit(1);
}
usleep (300000);
}
while (1);
fclose(fp);
return 0;
}
写入次数未知并且是不追加 多次写入文件没有内容

追答可以写入啊,你的文件路径是不是找错了,你是什么环境,如果是vc的话,改成下面:
fp = fopen("c:power.txt","wb");

运行完到c盘目录下找到powre.txt文件,我的是可以写入的。

热心网友 时间:2022-06-20 05:49

size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大,而且是fseek函数对此函数没有作用。追问也谢谢你的解答,不过分只能给一个人 就委屈你了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com