gpt4 book ai didi

c++ - 这个 char 数组到 std::string 的转换有什么问题?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:10:57 29 4
gpt4 key购买 nike

我正在尝试将一个 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

最佳答案

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";

关于c++ - 这个 char 数组到 std::string 的转换有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25239924/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com