C语言课程设计——文件基本操作2

网友投稿 1004 2022-11-26

C语言课程设计——文件基本操作2

C语言课程设计——文件基本操作2

#include #include #include //fputc()不在字符后面添加换行//fgetc()不在字符后面添加换行,不管这个字符后面是不是换行,它只读取一个字符 //fputs()不在字符后面添加换行//fgets()读取文件一行内容,行尾无换行则无换行,有换行读取换行 //一般情况下向文件中写数据都在行末添加一个换行(fputc('\n', fp)),这样每次都是从新的一行写入数据//当从文件中读取数据时,如果文件一行后面回车了,则读出的字符串后面添加一个换行符否则没有 //注意文件中的换行符是属于上一行的//scanf()读取后向文件中fputs不写入换行符int main(){ FILE *fp1, *fp2; char str[50]; char s[6][50]; //向文件中写入字符串 fp1=fopen("D:\myfile", "w"); if (fp1==NULL){ printf("cannot open\n"); exit(-1); } scanf("%s", str); //不读入字符串结尾的换行符 fputs(str, fp1); //不自动添加换行符 fclose(fp1); //从文件中读取字符串 fp1=fopen("D:\myfile", "r"); if (fp1==NULL){ printf("cannot open\n"); exit(-1); } fgets(str, 50, fp1); printf("%s", str); fclose(fp1); //作业1:从磁盘文件file1.txt中读出这行字符串,将其中的小写字母全改成 // 大写字母,输出到磁盘文件file2.txt fp1=fopen("D:\file1.txt", "r"); if (fp1==NULL){ printf("cannot open\n"); exit(-1); } fgets(str, 50, fp1); int len=strlen(str); for (int i=0; i='a'&&str[i]<='z') str[i]=str[i]-'a'+'A'; printf("%s", str); fclose(fp1); //作业2:从磁盘读入5字符串,对他们按照字母大小的顺序排序,然后把排好序的 // 字符串送到磁盘文件string.txt中保存 //这里假定5个字符串长度一样 fp1=fopen("D:\file1.txt", "r"); fp2=fopen("D:\file2.txt", "w"); if (fp1==NULL || fp2==NULL){ printf("open failed\n"); exit(-1); } for (int i=1; i<=5; i++){ fgets(s[i], 50, fp1); } len=strlen(s[1]); for (int i=1; i<=5-1; i++){ for (int j=1; j<=5-i; j++){ if(strcmp(s[j], s[j+1])>0){ char t[50]; strcpy(t, s[j]); strcpy(s[j], s[j+1]); strcpy(t, s[j+1]); } } } for (int i=1; i<=5; i++){ fputs(s[i], fp2); } fclose(fp1); fclose(fp2); return 0;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:[linux实验] fork详解 孤儿进程
下一篇:LightOj 1422 Halloween Costumes(区间dp)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~