【发布时间】:2021-01-21 18:27:42
【问题描述】:
如果该行是奇数,我正在尝试将元素从一个文件复制到另一个文件; 例如我在第一个文件中:
6
5 6 8
3
6 9 32
输出应该是
5 6 8
6 9 32
但我什么也得不到。
这是我的代码:
int main() {
FILE *data_input = fopen("data.in", "r");
FILE *data_out = fopen("data.out", "w");
char str;
int nr = 0;
if (data_input == NULL || data_out == NULL)
printf("error");
while ((str = fgetc(data_input)) != EOF) {
str = fgetc(data_input);
if (str == "\n")
nr++;
if (nr % 2 != 0)
fputc(str, data_out);
}
fclose(data_input);
fclose(data_out);
return 0;
}
【问题讨论】:
-
请使用正确的缩进。这很重要。
-
@EugeneSh。我已经修正了这个问题的缩进。
-
'char str;' - EOF 是一个整数。
-
while ((str = fgetc(data_input)) != EOF) { str = fgetc(data_input);什么? -
while ((str = fgetc(data_input)) != EOF) { str = fgetc(data_input); 哇。我不认为我需要再次证明为什么在
while()或if()语句中的填塞 分配是一个BAD IDEA.