2012-11-04 49 views
-1
int main 
{ 
    string data; 
    data = "q"; 

    char myChoice; 

    myChoice = data.c_str(); 
} 

我試過使用c_str(),但它不起作用。如何將string轉換爲charC++如何將字符串轉換爲字符

或者說我想問一下

int main() 
{ 
    char myInput; 
    // How to check user input is either a , b or c for char. 
    cout << "Your Input "; 
    cin >> myInput; 
} 

對於string我可以用getline(cin,mystringvariable),然後我檢查我stringvariable使用if-else語句。

但是char呢?

+6

'char myChoice = data [0];' – nosid

+0

一個字符串通常由多個字符組成。你期望轉換能給你什麼?只是字符串的第一個字符? – jogojapan

+0

一個字符串是一個字符數組,你只需要在這種情況下得到這個數組的第一個元素。 –

回答

0

您可以將字符串視爲char的數組。您可以使用operator[]超載與std::string類提取從字符串的單個字符:

// string data; 
char myChoice = data[0]; // first char in "data" 

對於你的問題的第二部分,你可以檢查char變量與if...else,你字符串做:

char myInput; 
... 
if (myInput == 'a') 
{ 
    ... 
} 
else if (myInput == 'b') 
{ 
    ... 
} 
... 

或者您也可以使用switch聲明。

0

您可以使用stdio.h中的getchar()。

int main() { 
    char c; 
    c = getchar(); 
    return (0); 
} 
0

您無法將字符串轉換爲字符,您必須將其轉換爲字符數組。如果你想從一個字符串中獲取單個字符,你可以通過將字符索引放置在data [index]中並將其分配給字符變量。