我是编程新手。我已经编写了一个程序来对数字进行某种操作,现在我要做的就是从文件中读取这些数字并将它们写入另一个文件中。我正在使用此代码: 字符数[20]; 整数值,选择,结果;
{
FILE *file_in;
file_in = fopen("roman.txt", "r");
while (!feof(file_in))
{
fscanf(file_in, "%s", number);
fclose(file_in);
FILE *file_out;
result = RomantoArabic(number, value);
file_out = fopen("arabic.txt", "a");
fprintf(file_out, "%d\n", result);
fclose(file_out);
}
return 0;
,但它仅写入序列中的最后一个数字。如果有人可以告诉我我做错了,我将不胜感激。 谢谢 玛丽亚
答案 0 :(得分:0)
首先尝试在while循环外打开文件,然后再次运行它,然后在循环后关闭文件。
{
FILE *file_in;
File *file_out;
file_in = fopen("roman.txt", "r");
if (file_in == NULL) {
printf("Error: unable to open "roman.txt.\n");
exit(EXIT_FAILURE);
}
file_out = fopen("arabic.txt", "a");
if (file_out == NULL) {
printf("Error: unable to open ‘arabic.txt’\n");
exit(EXIT_FAILURE);
}
while (!feof(file_in))
{
fscanf(file_in, "%s", number);
result = RomantoArabic(number, value);
fprintf(file_out, "%d\n", result);
}
fclose(file_in);
fclose(file_out);
return 0;