2011-07-15 32 views

回答

3

fgets()是相當簡單的,並不能提供很多控制屏幕上顯示的內容。我不認爲這是可能的。你可能想看看更強大的東西 - 比如readline

2

是的,正如其他職位所說,readline是你最好的選擇。它也很簡單。如果你在Linux上,它應該已經安裝。請嘗試以下操作:

#include <stdio.h> 
#include <readline/readline.h> 
#include <readline/history.h> 

// compile as: gcc <file>.c -lreadline -lcurses 
int main (int argc, char *argv[]) 
{ 
    char *input = readline("Enter words: "); 
    printf("\n Input: [%s]\n", input); 
    return 0; 
} 

- HTH。

+0

我用lreadline和lcurses編譯,但我得到readline/readline.h沒有這樣的文件或目錄,我已經檢查apt-get安裝libreadline6,它被安裝,什麼是錯誤? – rob

+0

我在/ lib中找到了庫,但爲什麼它沒有鏈接?我需要配置gcc的搜索路徑嗎? – rob

+1

'apt-get install libreadline6-dev'應該可以解決這個問題。通常,如果找不到頭文件,請檢查是否安裝了 -dev(開發包)。 –