- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验13文件
*实验13 文件
一、实验目的
(1)学会使用文件打开、关闭、读、写等文件操作函数。
二、实验内容
[文本文件操作_字符读入]
在当前目录中存在文件名为data1.in的文本文件,现要求你使用fopen 函数命令打开该文件,读出里面的所有字符,遇到大写字母的,将其变为小写字母,其它字符不变,最后将所有字符按顺序在屏幕上输出。请填空完成程序
(如 data1.in内容如下)
Hello my Dear:
Have a GooD Time!
(在屏幕上输出结果如下)
hello my dear:
have a good time!
程序如下,请填空,
#include stdio.h
main()
{ FILE *fp;
char ch;
if((fp=fopen(data1.in,r))= =NULL)
return 0;
while((ch=fgetc(fp))!=EOF )
{ if (A=ch ch=Z)
ch = ch + 32;
putchar(ch) ;
}
fclose(fp);
}
[提示] 在提交前要测试自己的代码是否正确,可在源文件所有目录自己创建一个名为data1.in 的文本文件,在文件中自己打入一些字母,以便测试自己的代码是否正确
[文本文件操作_字符写入]
由键盘输入任意个字符(以连着的三个小写字符bye 做为结束标志),将所有字符(包括bye),写入新建的文件answer.txt中(注:文件放在当前目录)。请完成该功能,
(如键盘输入内容如下)
He, can you write the code?
Yes, you can.bye
(程序执行后,在文件answer.txt中内容如下)
He, can you write the code?
Yes, you can.bye
参考程序:
#include stdio.h
main()
{ FILE *fp;
char ch, ch1= , ch2= , ch3= ;
if((fp=fopen(answer.txt, w))==NULL)
return 1;
while((ch=getchar())!=EOF)
{ fputc(ch, fp);
ch1=ch2;ch2=ch3;ch3=ch;
if (ch1==bch2==ych3==e)
break;
}
fclose(fp);
}
[文本文件操作_单词的排序]
在当前目录有文件“data1.in”,文件里存放有多个(总个数不超过10000个)英文单词(每个英文单词不会超过10个字文字符),每行一个,单词未排序。现要求,将文件中的所有单词按字典顺序排序,然后将排序好的单词写入新建的文件answer.txt中(注:文件存放于当前目录)。请完成程序,实现该功能,
(如 data1.in文件中原内容如下)
hello
bye
yes
(程序执行后,在文件answer.txt中内容如下)
bye
hello
yes
参考程序:
#include stdio.h
#include string.h
main()
{ FILE *fp1,*fp2;
char str[1000][11],str1[11];
int n=0,i,j;
if((fp1=fopen(data1.in,r))==NULL)
return 0;
if((fp2=fopen(answer.txt,w))==NULL)
return 0;
while(fscanf(fp1,%s,str[n])0) n++;
for(i=0;in;i++)
for(j=i+1;jn;j++)
{
if(strcmp(str[i],str[j])0)
{
strcpy(str1,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],str1);
}
}
for(i=0;in;i++)
fprintf(fp2,%s\n,str[i]);
fclose(fp1);
fclose(fp2);
}
***将实验11中的学生成绩的录入改为从文件(in.txt)录入,最后排好序的成绩写到文件(out.txt)中。
***将实验12中的学生成绩的录入改为从文件(in.txt)录入,最后排好序的成绩写到文件(out.txt)中。
文档评论(0)