溫馨提示×

getchar在Linux命令行中的實用技巧

小樊
86
2024-09-06 21:22:34
欄目: 智能運維

getchar() 是一個C語言函數(shù),用于從標準輸入(通常是鍵盤)讀取一個字符

  1. 使用 getchar() 暫停程序: 在程序中添加 getchar(); 可以使程序暫停,直到用戶按下任意鍵。這在調(diào)試或演示時非常有用。
#include<stdio.h>

int main() {
    printf("Press any key to continue...\n");
    getchar();
    printf("Continuing the program...\n");
    return 0;
}
  1. 讀取一行文本: 要讀取一整行文本,可以使用 fgets() 函數(shù)。但如果你想使用 getchar() 讀取一行文本,可以這樣做:
#include<stdio.h>

int main() {
    char c;
    printf("Enter a line of text: ");
    do {
        c = getchar();
        putchar(c);
    } while (c != '\n');
    return 0;
}
  1. 計算輸入字符的數(shù)量: 使用 getchar() 可以計算輸入字符的數(shù)量,包括空格和換行符。
#include<stdio.h>

int main() {
    int count = 0;
    char c;
    printf("Enter some text (press Ctrl+D to end):\n");
    while ((c = getchar()) != EOF) {
        count++;
    }
    printf("You entered %d characters.\n", count);
    return 0;
}
  1. 從文件中讀取字符: getchar() 默認從標準輸入讀取字符,但你可以使用 freopen() 函數(shù)將輸入重定向到文件。
#include<stdio.h>

int main() {
    FILE *file;
    char c;

    file = freopen("input.txt", "r", stdin);
    if (file == NULL) {
        printf("Error opening file.\n");
        return 1;
    }

    printf("Reading from input.txt:\n");
    while ((c = getchar()) != EOF) {
        putchar(c);
    }

    fclose(stdin);
    return 0;
}

這些只是 getchar() 在 Linux 命令行中的一些實用技巧。在編寫C程序時,你可以根據(jù)需要使用這些技巧來處理輸入和輸出。

0