2014-02-22 69 views
0

我對C++中的文本輸入有個疑問。我有一個代碼,我可以有一個人在一個數字類型,但我已經嘗試將數字更改爲文本,它不會工作。我正在製作一個基於文本的遊戲,我希望人們能夠輸入單詞而不僅僅是數字。下面是一些示例代碼:C++中的文本輸入

int Choice; 
    if(Choice == 1) 
    { 
    printf ("You press the restart button on the system but nothing seems to happen\n"); 
} 

我想要的人能夠輸入「按按鈕,而不是鍵入‘1’

此外,我還有一個問題,有沒有一種方法能夠有控制檯檢查,如果該人有事沒事類型的,如果沒有他們,將讓他們重新輸入他們的答案

感謝您的閱讀,並請回答

回答

2

這是最容易std::string:?(#include <string>

string input; 
getline(cin, input); 
if(input == "Press Button") { ... } 
0

你可能想嘗試要麼

std::string str = std::cin.getline(); 

char[50] str; 
std::cin << str 
+0

是您的第二個例子安全嗎? – tenfour

+0

你是什麼意思? – user3339662

+0

假設用戶輸入的字符超過50個字符... – tenfour

0

也許像

std::string s; 
std::cout << "Type something: "; 
std::cin >> s; 

while (s != "Correct string") 
{ 
    std::cout << "Type again: "; 
    std::cin >> s; 
}