簡體   English   中英

將char num [50]復制到std :: string

[英]Copy char num[50] to std::string

如何將char數組的內容復制到std :: string(不轉換)

例如:

void CApp::ChangeState(GameState* state)
{
std::string strImagePath;
// cleanup the current state
if ( !states.empty() ) {
    states.back()->Clean();
    states.pop_back();
    //states.back()->getImagePath( psImagepath );
}

// store and init the new state
states.push_back(state);
states.back()->Init();

//psImagepath = (char*)malloc(sizeof(char)*50);
states.back()->getImagePath( psImagepath );

printf("MenuState Init path %s\n",psImagepath);

}

我想將我的內容復制到strImagePath(考慮在類定義中聲明strImage路徑)

只需使用帶有char數組的字符串構造函數

char arr[50];
//Fill your array, do stuff, etc, etc
<...>
std::string str(arr);

請注意,要傳遞給構造函數的char數組應為空終止。

您可以使用strImagePath.append(charArray)要追加的char [],或strImagePath.assign(charArray)以取代以前的內容strImagePath通過的char []的內容。

使用構造函數( std::string(const char* str) )或復制賦值運算符( std::string& operator=(const char* str) )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM