我正在尝试将一个char数组转换为一个数组std::string,但我只能在数据中得到喋喋不休std::string.怎么了?
char char_buff[40];
sprintf_s(char_buff, 40, "test" );
printf("%s\n", char_buff); // prints "test"
std::string str(char_buff);
printf("%s\n", str); // prints random nonsense
Run Code Online (Sandbox Code Playgroud)
Jer*_*fin 12
传递一个std::string以printf给未定义的行为.
当您尝试打印string实例时,请尝试使用std::cout:
char char_buff[40];
sprintf_s(char_buff, 40, "test" );
std::cout << char_buff << "\n";
std::string str(char_buff);
std::cout << str << "\n";
Run Code Online (Sandbox Code Playgroud)