我是编程新手。我已经编写了一个程序,可以对数字执行某种操作,我现在需要做的就是从文件中读取这些数字并将它们写入不同的文件中。我正在使用此代码:char number[20]; int 值,选择,结果;
{
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;
但它只写入序列中的最后一个数字。如果有人能告诉我我做错了什么,我将不胜感激。谢谢玛丽亚
首先尝试在 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;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句