我尝试从文本文件中获取输入,然后反转每一行,然后输出回另一个文本文件。出于某种原因,程序只对第一行执行此操作,而不会移动到第二行。我没有得到这个,因为它应该继续前进,直到它击中EOF。
答案 0 :(得分:0)
如果文件没有以换行符结尾,您将永远不会打印最后一行,因为您在阅读换行符时只能调用reverse(array)
。
您可以在while
循环完成后再次调用它来解决此问题。
int main() {
char temp;
char array[80] = "";
int count = 0;
temp = getchar(); //Start on first Character
while (temp != EOF) { //loop through the entire file
if (temp == '\n') { //If it is the end of a line
reverse(array); //Print out the reversed line
memset(array,0,80); //clear the array
count = 0; //reset count
temp = getchar(); //Advance getchar
}
else { //If it is not the end of the line
array[count] = temp; //Store the char in the array
count++; //advance count
temp = getchar(); //advance getchar
}
}
if (count > 0) {
reverse(array);
}
return 0;
}