C ++ - to_string在Windows中的Code :: Blocks中不能跨多个编译器(MinGW,MinGW64,TDM GCC)工作

时间:2016-05-19 02:29:58

标签: c++ mingw codeblocks mingw-w64 tdm-gcc

我越来越绝望了。在使用Code :: Blocks的Windows 7上,我已经安装了大约六种MinGW / TDM-GCC变体,但是我无法通过to_string将我的int转换为字符串,例如:

std::cout << std::to_string(1) << ' - one' << std::endl;

输出1544173669

我已经看到有关to_string的各种错误报告在早期版本的MinGW中没有工作(从v4.7 - 4.9之前的任何地方),但我已经尝试了最新版本无济于事。我已按照these instructions安装最新的TDM-GCC,正确更改了工具链和调试器设置。

我要求的是对某些原因不起作用的某种解释和解决方案。我可以根据需要提供任何进一步的信息。

2 个答案:

答案 0 :(得分:3)

它实际上是为你正确打印的,加上原因,你的多字符常量(这是实现定义的) ......

std::cout << std::to_string(1) << ' - one' << std::endl;

你使用双引号来表示字符串,你想写的可能是:

std::cout << std::to_string(1) << " - one" << std::endl;

答案 1 :(得分:2)

我假设你的意思是“ - 一个”。

''仅适用于单个字符。