C语言输入多行字符串怎么实现

   2025-02-13 3950
核心提示:在C语言中,可以使用fgets函数来实现输入多行字符串。fgets函数可以从文件流或者标准输入中读取一行字符串,直到遇到换行符或者

在C语言中,可以使用fgets函数来实现输入多行字符串。fgets函数可以从文件流或者标准输入中读取一行字符串,直到遇到换行符或者读取的字符数达到指定的最大值为止。

下面是一个使用fgets函数输入多行字符串的示例代码:

#include <stdio.h>#define MAX_LENGTH 100int main() {    char str[MAX_LENGTH];    char input[MAX_LENGTH * 10]; // 假设最多输入10行字符串    printf("请输入多行字符串(以空行结束):\n");    int i = 0;    while (fgets(str, sizeof(str), stdin) != NULL) {        if (str[0] == '\n') { // 如果输入的是空行,则结束输入            break;        }        strcpy(input + i * MAX_LENGTH, str); // 将每一行字符串追加到input中        i++;    }    printf("输入的多行字符串为:\n");    for (int j = 0; j < i; j++) {        printf("%s", input + j * MAX_LENGTH); // 输出每一行字符串    }    return 0;}

在上述示例代码中,我们首先定义了一个MAX_LENGTH常量,用来表示每一行字符串的最大长度。然后定义了strinput两个字符数组,分别用于存储每一行输入的字符串和所有输入的字符串。

在主函数中,首先输出提示信息,然后使用fgets函数循环读取每一行输入的字符串,判断如果输入的是空行(即只有一个换行符),则结束输入循环。否则,将每一行输入的字符串追加到input中,并使用i变量记录输入了多少行字符串。

最后,输出所有输入的字符串,通过循环遍历input数组,并使用printf函数逐行输出。

注意:由于fgets函数会将换行符\n也读取到字符串中,因此在输出时需要使用printf函数而不是puts函数,以保持每一行字符串的格式。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言