2014-02-22 77 views
2
int main(int argc, const char * argv[]) 
{ 
    const char* input = readline(NULL); 
    NSLog(@"%d", atoi(input)); 

    return 0; 
} 

我試圖在控制檯中輸入一個字符序列,但是每當我鍵入一個鍵時,緊跟在剛輸入的字符後面的字符就會緊跟在一起。 (例如,我在控制檯中鍵入'1',控制檯將顯示「11」)此外,當我嘗試使用delete-key刪除輸入的字符時。上下顛倒的問號將出現,但在char *中最後一個字符已被刪除?爲什麼readline()在控制檯中輸入回顯?

爲什麼所有這些發生?

http://i.stack.imgur.com/UheQt.png

+2

可能是'readline'和控制檯回顯有問題嗎? –

+0

@JoachimPileborg如何解決這個問題?我正在關注教科書,似乎對此沒有任何問題。 –

+2

我認爲@JoachimPileborg是在正確的軌道上。如果您從終端運行您的程序,則不會發生此問題。通過打開一個新的終端窗口並將CountDown產品(在Xcode導航器中的產品組下)拖到終端窗口來嘗試它。這會將程序的路徑複製到終端提示符中。現在,如果您從終端運行程序,雙輸入回顯將不會發生。 –

回答

3

這是預期行爲的Xcode 5.您可以在終端的Xcode外運行它,它應該表現正常。

+0

仍然在Xcode 8上發生.. – Enrique

+0

確認。仍然發生在Xcode 8 ... –

+0

仍然發生在Xcode 9 ... – SagunKho

相關問題