在C语言中,可以使用循环结构和条件判断来读取输入直到空行。以下是一个示例代码:
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char input[MAX_LENGTH];
printf("请输入多行文本,直到空行结束:\n");
while (1) {
fgets(input, MAX_LENGTH, stdin);
// 判断输入是否为空行
if (strcmp(input, "\n") == 0) {
break;
}
// 处理输入
// ...
// 清空输入缓冲区
fflush(stdin);
}
printf("输入结束。\n");
return 0;
}
在上述代码中,我们使用了fgets
函数来读取输入的一行文本,并将其存储在input
数组中。然后,我们通过比较输入是否为"\n"来判断是否为空行,如果是空行,则跳出循环。在处理输入后,我们使用fflush(stdin)
来清空输入缓冲区,以便下一次读取输入。
需要注意的是,上述代码只能读取每行长度不超过MAX_LENGTH-1
的文本,超过部分会被截断。你可以根据实际需求调整MAX_LENGTH
的值。
这种方法适用于从终端读取输入,如果需要从文件中读取输入,可以使用fopen
和fclose
函数打开和关闭文件,然后使用fgets
函数读取文件中的每一行文本。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云