在main函数中创建一个文件,将m个字符串写入文件中。打开该文件,读出所有字符串,并找出最长的一个字符串,将其保存到另一个文件中。要求:m、字符串由键盘输入。
#include <stdio.h>
#include <string.h>
int main()
{
int m, i, max_len = 0;
char str[100], max_str[100], filename[20];
FILE *fp;
printf("请输入要写入的字符串个数:");
scanf("%d", &m);
// 打开文件并写入字符串
fp = fopen("strings.txt", "w");
for (i = 0; i < m; i++) {
printf("请输入第%d个字符串:", i + 1);
scanf("%s", str);
fprintf(fp, "%s\n", str);
}
fclose(fp);
// 读取文件并找出最长的字符串
fp = fopen("strings.txt", "r");
while (fscanf(fp, "%s", str) != EOF) {
if (strlen(str) > max_len) {
max_len = strlen(str);
strcpy(max_str, str);
}
}
fclose(fp);
// 将最长的字符串保存到文件中
printf("最长的字符串为:%s\n", max_str);
printf("请输入要保存到的文件名:");
scanf("%s", filename);
fp = fopen(filename, "w");
fprintf(fp, "%s", max_str);
fclose(fp);
return 0;
}