c语言输入至eof停止
时间: 2023-09-02 07:04:33 浏览: 185
在C语言中,我们可以使用EOF(End of File)作为输入流的结束标志。当我们从控制台或者文件中输入字符时,我们可以通过判断输入的字符是否等于EOF来决定是否终止输入。
在控制台输入时,通常使用scanf函数来获取输入值。我们可以使用一个循环来不断读取输入的字符,直到遇到EOF为止。具体代码如下:
```c
#include <stdio.h>
int main() {
int num;
while (scanf("%d", &num) != EOF) {
// 对输入的num进行处理
printf("输入的数字是:%d\n", num);
}
printf("输入结束\n");
return 0;
}
```
在这段代码中,scanf函数会一直读取输入,并将读取的值存储在num变量中。当输入的字符不是整数时,scanf函数会返回EOF,从而终止循环。
当我们从文件中读取字符时,我们可以使用文件指针和fgets函数。具体代码如下:
```c
#include <stdio.h>
#define MAX_LEN 100
int main() {
FILE *file;
char buffer[MAX_LEN];
file = fopen("input.txt", "r");
while (fgets(buffer, MAX_LEN, file) != NULL) {
// 对读取到的buffer进行处理
printf("读取到的字符串是:%s\n", buffer);
}
printf("读取结束\n");
fclose(file);
return 0;
}
```
在这段代码中,我们先打开一个名为input.txt的文件,并将其赋值给指向文件的指针file。然后我们使用fgets函数从文件中读取字符串,并将其保存在buffer数组中。当fgets函数读取到文件结尾时,会返回NULL,从而终止循环。最后,我们关闭文件。
通过以上两种方法,我们可以在C语言中实现输入至EOF停止的功能。无论是从控制台还是从文件中读取输入,只需判断输入的字符是否等于EOF即可。
阅读全文