注意:(1)此程序中用到了字符串比较函数strcmp和字符串复制函数strcpy
(2)在此程序中有一句 fputs(" ",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:
"); //提示输入字符串
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!
");
exit(0);
}
printf("
The new sequence:
");
for(i=0;i<n;i++)
{
fputs(str[i],fp); //想磁盘文件写入一个字符串
fputs("
",fp); //然后输出一个换行符
printf("%s
",str[i]);
}
return 0;
}
}