因此,我正在尝试在我的程序中使用字符串流,以便获得一些格式化的字符串(尤其是因为我需要将数字转换为字符串)。
问题是,我的程序崩溃了,当我用 Visual Studio 调试它时,在我的 Spy 窗口中,我看到我的 stringstream 的字符串缓冲区产生了(当试图向它添加“Framerate”时):
"FramerateÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍýνý««««««««ÍÍÍþ"
代码:
std::stringstream s;
s << "Framerate";
当我尝试获取关联的字符串时,我的代码将崩溃... 我找不到任何解释,也找不到我的代码的问题......
编辑:事实证明这些字符不是问题,stringstream 使用 str()
返回预期的字符串。
最佳答案
stringstream
的内部缓冲区不需要以 null 终止。但是,当您在 stringstream
对象上调用 str()
时,您将得到一个空终止字符串。很可能您的崩溃原因在其他地方。
关于c++ - 为什么 stringstream 会产生奇怪的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15307734/