求助一道c语言的文件题。 5
题目是:有两个磁盘文件A和B,各存放一行字符。要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。求助:下面是我的代码。输出如图,为什么文件c前面有两个...
题目是:有两个磁盘文件A和B,各存放一行字符。要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
求助:下面是我的代码。输出如图,为什么文件c前面有两个空格,空格是A和B的结束符吗?该怎么改?
int main(void){ FILE *fpa, *fpb, *fpc; char str[1024], t; int i = 0, j = 0, k; if (!(fpa = fopen("D:\\A.txt", "r"))) { perror("出错原因:"); Sleep(3000); return 0; } if (!(fpb = fopen("D:\\B.txt", "r"))) { perror("出错原因:"); Sleep(3000); return 0; } rewind(fpa); while (!feof(fpa)) { str[i]=fgetc(fpa); i++; } rewind(fpb); while (!feof(fpb)) { str[i] = fgetc(fpb); i++; } str[i] = '\0'; for (i = 0; str[i+1] != '\0'; i++) { k = i; for (j = i + 1; str[j] != '\0'; j++) { if (str[k] > str[j]) { k = j; } } if (i != k) { t = str[i]; str[i] = str[k]; str[k] = t; } } if (!(fpc = fopen("D:\\C.txt", "w"))) { perror("出错原因:"); Sleep(3000); return 0; } fputs(str, fpc); fclose(fpa); fclose(fpb); fclose(fpc);} 展开
求助:下面是我的代码。输出如图,为什么文件c前面有两个空格,空格是A和B的结束符吗?该怎么改?
int main(void){ FILE *fpa, *fpb, *fpc; char str[1024], t; int i = 0, j = 0, k; if (!(fpa = fopen("D:\\A.txt", "r"))) { perror("出错原因:"); Sleep(3000); return 0; } if (!(fpb = fopen("D:\\B.txt", "r"))) { perror("出错原因:"); Sleep(3000); return 0; } rewind(fpa); while (!feof(fpa)) { str[i]=fgetc(fpa); i++; } rewind(fpb); while (!feof(fpb)) { str[i] = fgetc(fpb); i++; } str[i] = '\0'; for (i = 0; str[i+1] != '\0'; i++) { k = i; for (j = i + 1; str[j] != '\0'; j++) { if (str[k] > str[j]) { k = j; } } if (i != k) { t = str[i]; str[i] = str[k]; str[k] = t; } } if (!(fpc = fopen("D:\\C.txt", "w"))) { perror("出错原因:"); Sleep(3000); return 0; } fputs(str, fpc); fclose(fpa); fclose(fpb); fclose(fpc);} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询