溫馨提示×

在C語言中使用getchar函數讀取多行輸入的方法

小樊
255
2024-09-19 22:13:24
欄目: 編程語言

在C語言中,使用getchar()函數通常用于從標準輸入(通常是鍵盤)讀取單個字符。如果要讀取多行輸入,需要使用循環結構,并且可能需要結合使用fgets()函數來讀取整行文本。

下面是一個使用getchar()和循環結構來讀取多行輸入的示例代碼:

#include <stdio.h>

int main() {
    char ch;
    printf("請輸入多行文本,輸入任意字符結束:\n");

    while ((ch = getchar()) != '\n' && ch != EOF) {
        // 在這里處理讀取到的字符,例如打印到屏幕上
        putchar(ch);
    }

    printf("\n輸入結束。\n");
    return 0;
}

在這個示例中,getchar()函數用于逐個讀取字符。循環會一直執行,直到讀取到換行符('\n')或文件結束符(EOF)。在循環體內,可以使用putchar()函數將讀取到的字符打印到屏幕上。

然而,上面的代碼只能逐字符地讀取輸入,并且需要在每次迭代中調用getchar()。如果要讀取整行文本,可以使用fgets()函數,它可以一次性讀取一行文本并存儲到一個字符串變量中。下面是一個使用fgets()的示例代碼:

#include <stdio.h>

int main() {
    char line[100];
    printf("請輸入多行文本,輸入空行結束:\n");

    while (fgets(line, sizeof(line), stdin)) {
        // 在這里處理讀取到的整行文本,例如打印到屏幕上
        printf("%s", line);
    }

    printf("\n輸入結束。\n");
    return 0;
}

在這個示例中,fgets()函數用于讀取整行文本,并將其存儲到line數組中。循環會一直執行,直到讀取到空行(即輸入結束)。在循環體內,可以使用printf()函數將讀取到的整行文本打印到屏幕上。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女