2013-02-12 226 views
5

對於我正在基於規範編寫的程序,將一個變量作爲字符串傳遞給函數。我需要將該字符串設置爲char變量以設置另一個變量。我會如何去做這件事?從字符串轉換爲字符 - C++

這是它在頭文件:

void setDisplayChar(char displayCharToSet); 

這是設置它的功能:

void Entity::setElementData(string elementName, string value){ 
    if(elementName == "name"){ 
      setName(value); 
    } 
    else if(elementName == "displayChar"){ 
    //  char c; 
     //  c = value.c_str(); 
      setDisplayChar('x');//cant get it to convert :(
    } 
    else if(elementName == "property"){ 
      this->properties.push_back(value); 
    } 
} 

感謝您的幫助先進!

+3

你是說你只是想傳遞第一個字符? '值[0]'。 – chris 2013-02-12 04:46:45

+0

驗證該值是一個字符的長度,理想情況下。另外:通過const&;) – 2013-02-12 04:47:25

回答

6

只需索引它就可以從字符串中獲取特定字符。例如,str的第五個字符爲str[4](由於第一個字符爲str[0]而被關閉)。

請記住,如果字符串比索引認爲更短,則會遇到問題。

c_str(),當你在你的留言,給你一個char*表示(整個字符串作爲C「弦」,更正確的指針第一個字符),而不是一個char

你可以同樣的索引,但在這種情況下沒有意義。

+0

Yessssss !!!謝謝!哈哈Idk爲什麼我沒有嘗試這一開始。這看起來太簡單了。 – ModdedLife 2013-02-12 04:50:39

4

你只需要使用值[0]並返回第一個字符。

char c = value[0];