use*_*203 7 c++ string c-strings
我想用C++选择字符串的前8个字符.现在我创建一个长度为8个字符的临时字符串,并用另一个字符串的前8个字符填充它.
但是,如果另一个字符串不是8个字符长,我留下了不需要的空格.
string message = " ";
const char * word = holder.c_str();
for(int i = 0; i<message.length(); i++)
message[i] = word[i];
Run Code Online (Sandbox Code Playgroud)
如果word是"123456789abc",此代码正常工作并message包含"12345678".
但是,如果word更短,那么"1234"消息最终就会出现"1234 "
如何选择字符串的前八个字符,如果短于8个字符,则如何选择整个字符串?
cad*_*luk 11
只需使用std::string::substr:
std::string str = "123456789abc";
std::string first_eight = str.substr(0, 8);
Run Code Online (Sandbox Code Playgroud)