太自由

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

注意:(1)此程序中用到了字符串比较函数strcmp和字符串复制函数strcpy

   (2)在此程序中有一句 fputs("\n",fp); //然后输出一个换行符 这一句可以在以后写与文件有关的程序是用到

    (比如学生管理系统中的学生的信息存储,可以在文件中分行来存放)

 


//【怎样向文件中读写一个字符串】
/*
需求:
从键盘读入若干个字符串,对它们按字母大小的顺序排序,
然后把排好序的字符串送到磁盘文件中保存。

思路:
1,从键盘读入n个字符串,存放在一个二维字符数组中,每一个一维数组存放一个字符串
2,对字符数组中的n个字符按字母顺序排序,排好序的字符串仍存放在字符数组中。
3,将字符数组中的字符串顺序输出。
*/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *fp;
//str是用来存放字符串的二维数组,temp是临时数组
char str[3][10],temp[10];
int i,j,k,n = 3;
printf("Enter strings:\n"); //提示输入字符串
for(i=0;i<n;i++)
gets(str[i]); //输入字符串
for(i=0;i<n-1;i++)
{
k = i;
for(j=i+1;j<n;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);
}
if((fp=fopen("f:\\FILE_1\\file_2.txt","w"))==NULL) //打开磁盘文件
{
printf("can't open file!\n");
exit(0);
}
printf("\nThe new sequence:\n");
for(i=0;i<n;i++)
{
fputs(str[i],fp); //想磁盘文件写入一个字符串
fputs("\n",fp); //然后输出一个换行符
printf("%s\n",str[i]);
}
return 0;
}
}

posted on 2015-09-15 18:23  太自由  阅读(669)  评论(0编辑  收藏  举报