c语言读入多组数据,每组数据是一串不知道有几个的数字,以回车结束,整体输入以eof结束
时间: 2024-03-10 19:48:24 浏览: 109
可以使用while循环和fgets函数来实现这个功能。fgets函数可以读取一行字符串,并且返回读取的字符串指针。当fgets返回NULL时,表示读取失败,循环结束。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[1000];
while (fgets(str, 1000, stdin) != NULL) {
// 处理每组数据
int len = strlen(str);
if (str[len-1] == '\n') {
str[len-1] = '\0'; // 去掉回车符
}
printf("%s\n", str);
}
return 0;
}
```
在这个示例代码中,我们使用了fgets函数读取一行字符串,判断是否到达了文件末尾(使用NULL指针表示),如果没有到达文件末尾,则继续读取下一组数据。另外,由于fgets函数会读取到行末的回车符,因此需要使用字符串函数去掉回车符。
需要注意的是,fgets函数有时会因为输入格式不正确而导致读取失败,此时返回值为NULL,需要使用feof函数判断是否到达文件末尾。
阅读全文