[英]C++ - to_string not working across multiple compilers (MinGW, MinGW64, TDM GCC) in Code::Blocks in Windows
我越來越絕望了。 在使用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之前的版本)中不起作用的錯誤報告,但是我已經嘗試了最新版本,但無濟於事。 我已按照這些說明安裝了最新的TDM-GCC,並相應地更改了工具鏈和調試器設置。
我所要的只是關於為什么不起作用的某種解釋和解決方案。 我可以根據需要提供任何進一步的信息。
它實際上為您正確打印了它,並加上原因,多字符常量(由實現定義) ...
std::cout << std::to_string(1) << ' - one' << std::endl;
此部分: std::to_string(1)
打印1
這部分: ' - one'
為您打印544173669
。
這給了您輸出: 1544173669
。
應該假定您的編譯器(假設為-pedantic
)警告表達式' - one'
-pedantic
' - one'
。 請參閱多字符常量警告和在多字符上使用單引號在C ++中會做什么?
您使用雙引號表示一個字符串,您可能想寫的是:
std::cout << std::to_string(1) << " - one" << std::endl;
我假設您的意思是“-一個”。
“”僅用於單個字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.