c语言 fwrite问题

怎么能够不间断的像某一文件写入数据呢我的代码:fp=fopen("/usr/share/ti/dvsdk-demos/power.txt","w+");我试过w+;b+w... 怎么能够不间断的像某一文件写入数据呢我的代码:
fp = fopen("/usr/share/ti/dvsdk-demos/power.txt","w+");

我试过 w+;b+ wb+效果都一样
count = fwrite(outfile,strlen(outfile),1,fp);
printf("count = %d\n",count);
if(count != 1)
{
perror("fwrite");
exit(1);
}
usleep (3000000);

循环写入的话 文件为空只写一次的话就不为空
展开
 我来答
瀚漠
推荐于2016-07-18 · 专注C语言发开,Linux系统相关
瀚漠
采纳数:309 获赞数:1289

向TA提问 私信TA
展开全部
看你的代码,只写了一次,想反复写入自然要执行多次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文件,我的是可以写入的。
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
cqpcy
2013-01-07 · TA获得超过658个赞
知道小有建树答主
回答量:746
采纳率:66%
帮助的人:365万
展开全部
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大,而且是fseek函数对此函数没有作用。
追问
也谢谢你的解答,不过分只能给一个人 就委屈你了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式