[求助]c语言fputc()文件处理怎么没效果
#include<stdio.h>int main()
{ char c,*d;
int m=0;
FILE *p;
p=fopen("2.txt","r+");
for(;(c=getc(p))!=-1;)
{
m+=1;
if(m%5==0)fputc('0',p);
}
fclose(p);
getchar();
}
结果2.txt没变 这是怎么的 谢谢了
----------------解决方案--------------------------------------------------------
可能是getc与fputc共用一个指针不行,单个就行,不妨先读完关了再打开来写.
----------------解决方案--------------------------------------------------------
回复:(ml232528)[求助]c语言fputc()文件处理怎么没...
你的文件读取方式是"r"也就是只读,不写.换成"R"或是"W","W+",""WB+","R+"试试 ----------------解决方案--------------------------------------------------------
r+是可以读写的.
----------------解决方案--------------------------------------------------------
你那个FOR循环条件呢?
----------------解决方案--------------------------------------------------------
(c=getc(p))!=-1就是条件
----------------解决方案--------------------------------------------------------
getc()一次只多一个文件.那你的循环不能实现啊.?在循环里再加个c=getc(p);不知道行不行.
----------------解决方案--------------------------------------------------------
get与put同时存在的话结果不能预料,应该分开操作
by 雨中飞燕 QQ:78803110 C/C++讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
Blog: http://yzfy.programfan.com
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int main()
{ char c,*d;
int m=0;
FILE *p;
p=fopen("c:\\2.txt","r+");
for(;(c=getc(p))!=-1;)
{
m+=1;
if(m%5==0)
{
fseek(p,0,SEEK_CUR);
fputc('0',p);
fseek(p,0,SEEK_CUR);
}
}
fclose(p);
getchar();
}
这样改你再实验下看2.txt有没有变..
----------------解决方案--------------------------------------------------------
楼主,ao ao 的强。再问一下。为啥"r+"在教程里面没有定义阿。它是不是等于rt+或者 rb+?
----------------解决方案--------------------------------------------------------