求助啊,新手不懂了,编一半
题目要求:读入一个文本文件input.txt,把文本内容分割为字符串,然后把字符串排序,按照升序输出到文本文件output.txt中。 要求:
1)字符串分隔符:空格,回车,换行;
2)忽略空行;
3)读入文件名为input.txt,输出文件名为output.txt,文件路径与程序路径一致;
4)要求用C语言,只能使用 fgetc , fputc ,fopen,fclose,printf,malloc,free,memset等基本函数;
例:文件中A中有
abc#aba?axy34 hpz_hh
aaa+=ccc
经过取词排序在文件B中排列如下:
aaa
aba
abc
axy
ccc
hpz_hh
我自己写了把文件A中的内容取出存储到文件B中这一部分,但是如何取词如何排序的算法不知道怎么写,请大大帮帮忙补充下,非常感谢哈
我的代码如下:
int _tmain(int argc, _TCHAR* argv[])
{
char inputfilename[] = "H:\\wordwork1\\study\\input.txt";
char outputfilename[] = "H:\\wordwork1\\study\\output.txt";
FILE *fp;
FILE *fp1;
char ch,c[1024];
int i,j;
if((fp=fopen(inputfilename,"r"))==NULL)
{
printf("input file cannot be opened\n");
exit(0);
}
for(i=0;(ch=fgetc(fp))!=EOF;i++)
{
c[i] = ch;
putchar(c[i]);
}
fclose(fp);
j=i;
if((fp1=fopen(outputfilename,"w"))==NULL)
{
printf("output file cannot be opened\n");
exit(0);
}
for(i=0;i <j;i++)
{
fputc(c[i],fp1);
putchar(c[i]);
}
fclose(fp1);
return 0;
}