C语言中怎么打开一个文件然后写入一些数据,然后再把数据取出来,最好有代码。

如题所述

# include<stdio.h>
# include<stdlib.h>
int main()
{
char word[1000];
FILE *fp;
if((fp=fopen("words.txt","r+"))==NULL)
{
fprintf(stdout,"Can't open \"words\" file\n");
exit(1);
}
while(fgets(word,100,stdin)!=NULL&&(word[0]!='\n'))
{
fputs(word,fp);
}
while(fscanf(fp,"%s",word)==1)
{
puts(word);
}
return 0;
}

words.txt是此工程文件夹下的文本文件,必须已存在,否则报错。运行后,输入字符串,保存到字符数组word中,然后由fputs函数写入文件。可连续输入。若只输入回车,则表示输入完毕。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-01
有两种方法:
一是标准的输出输入方式
比如新建一个磁盘文件c:\a.txt,
将键盘输入的一字符串写到文件中:
FILE *ft;
char str[50];

ft=fopen("c:\\a.txt","w+");
printf("输入一个字符串:");
scanf("%s",str);
fputs(str,ft);
fclose(ft);
//重新打开这个文件并读出字符串,显示在屏幕上
ft=fopen("c:\\a.txt","rt");
fgets(str,50,ft);
fclose(ft);
printf("%s",str);

二是低级输入输出方式
仍如上例:
int hd;
char str[50];
printf("输入一个字符串:");
scanf("%s",str);
hd=open("c:\\a.txt",O_CREAT|O_TEXT|O_WRONLY);
write(hd,str,strlen(str));
close(hd);
//重新打开这个文件并读出字符串,显示在屏幕上
hd=open("c:\\a.txt",O_TEXT|O_RDONLY);
read(hd,str,50);
close(hd);
printf("%s",str);本回答被提问者和网友采纳
相似回答