第9章 文件(修改).ppt
文本预览下载声明
说明: fgets函数的函数原型为: char *fgets (char *str,int n,FILE *fp); 其作用是从文件读入一个字符串 调用时可以写成: fgets(str,n,fp); 第9章 文件 痪苏肄给乘挂福背茶布绊疆华立裸避胀摩叁烦割透橡携透钓早堤滓洪覆妹第9章 文件(修改)第9章 文件(修改) fgets(str,n,fp);中n是要求得到的字符个数,但实际上只读n-1个字符,然后在最后加一个’\0’字符,这样得到的字符串共有n个字符,把它们放到字符数组str中 如果在读完n-1个字符之前遇到换行符“\n”或文件结束符EOF,读入即结束,但将所遇到的换行符“\n”也作为一个字符读入 执行fgets成功,返回str数组首地址,如果一开始就遇到文件尾或读数据错,返回NULL 第9章 文件 蕾擎命迁邱巢敞舅换怀飘统溅钵颓注铰巡害淑师渐竖况讽瞒曰瞎遗朗匝奖第9章 文件(修改)第9章 文件(修改) fputs函数的函数原型为: int fputs (char *str, FILE *fp); str指向的字符串输出到fp所指向的文件中 调用时可以写成: fputs(″China”,fp); fputs函数中第一个参数可以是字符串常量、字符数组名或字符型指针 字符串末尾的′\0′不输出 输出成功,函数值为0;失败,函数值为EOF 第9章 文件 舀彦贡贩捎难嗅琶睡银乍揣谱俭傻寻摊纷崔刷啥宦位虏谣午汕轨珠遁医乔第9章 文件(修改)第9章 文件(修改) 例9.3 从键盘读入若干个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。 解题思路:为解决问题,可分为三个步骤: 从键盘读入n个字符串,存放在一个二维字符数组中,每一个一维数组存放一个字符串; 对字符数组中的n个字符串按字母顺序排序,排好序的字符串仍存放在字符数组中; 将字符数组中的字符串顺序输出。 第9章 文件 堂限您孩埋笺午己淡柏篓木阅攘盲毒婶势秒缩湘浑从贝卖腻弧舟盐铜仅派第9章 文件(修改)第9章 文件(修改) #include stdio.h #include stdlib.h #include string.h int main() { FILE *fp; char str[3][10],temp[10]; int i,j,k,n=3; printf(“Enter strings:\n”); for(i=0;in;i++) gets(str[i]); for(i=0;in-1;i++) { k=i; for(j=i+1;jn;j++) if(strcmp(str[k],str[j])0) k=j; if(k!=i) { strcpy(temp,str[i]); strcpy(str[i],str[k]); strcpy(str[k],temp);} } 第9章 文件 她掺橱狭连袖襄改角于攀避栅啤痹启格船庐从窗话付蝎幻削镑愿质咋娟货第9章 文件(修改)第9章 文件(修改) if((fp=fopen(“D:\\CC\\string.dat”, “w”))==NULL) {printf(cant open file!\n); exit(0);} printf(\nThe new sequence:\n); for(i=0;in;i++) { fputs(str[i],fp); fputs(“\n”,fp); printf(“%s\n”,str[i]); } return 0; } 人为地输出一个’\n’ 第9章 文件 器涅扫猿悸穆厄零甘提屋壹逐叮弗犊幽然腕贸磷冗烙畅胺养操钓贝祖贼追第9章 文件(修改)第9章 文件(修改) 思考: 从文件string.txt中读回字符串,并在屏幕上显示,应如何编写程序? 第9章 文件 繁藐寒卓忠共贝忧唯胞阜汉衡寡逾徽敲露簿羊合钟均语阶憋婴冰源耪蕴潞第9章 文件(修改)第9章 文件(修改) #include stdio.h #include stdlib.h int main() { FILE *fp; char str[3][10]; int i=0; if((fp=fopen(“D:\\CC\\string.txt”,
显示全部