C语言中写入数据怎样才可以刷新写入?谢谢!~

主要是不得已用两个文件指针(用不同的类)同时打开一个文件,但是用其中一个更改覆盖数据后,读取时发现数据是原来的,但是重新运行便发现已经更改了。可不可以不用fclose(F... 主要是不得已用两个文件指针(用不同的类)同时打开一个文件,但是用其中一个更改覆盖数据后,读取时发现数据是原来的,但是重新运行便发现已经更改了。
可不可以不用 fclose(FILE*)
展开
 我来答
手机用户04087
2011-08-29 · 超过25用户采纳过TA的回答
知道答主
回答量:142
采纳率:0%
帮助的人:103万
展开全部
你好!!
不知你向文件输入的是什么数据,输入数据的函数很多,有fputc(s,fp);有fwrite()函数、、、、
下面是想文件输入字符,并把字符串中的小写字符转换成大写字符:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

int main()
{
FILE *fp;
char filename[20];
printf("请输入文件的名称:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file !!!\n");
exit(0);

}
printf("请输入字符直至结束(ctrl +z):");
fflush(stdin);
char s;

while(scanf("%c",&s)!=EOF)
{
if(islower(s))
s=toupper(s);//把小写字符转换成大写字符
fputc(s,fp);

}

rewind(fp);//是位置指针重新返回文件的开头,此函数没有返回值

if((fp=fopen(filename,"r"))==NULL)//以读的方式打开文件
{
printf("cannot open file !!!\n");
exit(0);

}

while(!feof(fp))
{
s=getc(fp);
putchar(s);

}

return 0;

}
测试:
请输入文件的名称:hello
请输入字符直至结束(ctrl +z):hello world !
Z
Z
HELLO WORLD !
Press any key to continue
踽踽独行Jerry
2011-08-29 · TA获得超过169个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:112万
展开全部
fflush(FILE*)试试!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式