2012-10-01 50 views
1

不附和輸入我成功地使用NSFileHandle讀取鍵盤輸入:NSFileHandle和scanf在Xcode 4.5

NSFileHandle * keyboard = [NSFileHandle fileHandleWithStandardInput]; 
NSData *inputData = [keyboard availableData]; 
NSString * input =[[NSString alloc] initWithData:inputData encoding:NSUTF8StringEncoding]; 

當用戶類型,只有輸入的第一個字符在屏幕上顯示。例如,如果我鍵入hello,屏幕上只回顯h。然而,完整的輸入被讀入字符串。

正確的回聲行爲在Xcode 4.2中起作用。我目前正在使用Xcode 4.5。

UPDATE

NSFileHandle放棄現在,我試圖用scanf。然而,也有相同的迴應問題。 scanf代碼:

char word[4]; 
scanf("%s",word); 
NSString * input = [[NSString alloc] initWithBytes:word length:4 encoding:NSUTF8StringEncoding]; 
+0

你的NSLog語句是什麼樣的?嘗試將所有可變的東西改爲不可變的。至於輸入鍵,substringWithRange會將其取出。 – fiacobelli

回答

1

這是Xcode 4.5中的一個錯誤。當控制檯刷新時,顯示所有回顯輸入。

+0

Xcode 4.5.1修復了這個bug。 – soundsmitten