在我目前正在研究的項目中,我鏈接到專有的動態庫。只要我運行庫的initialize
函數,記錄和打印數字的行爲就會改變。在cout中禁用逗號?
逗號已插入每隔三位小數。 IE瀏覽器。
cout << 123456789 << endl
用於打印出123456789
,現在它打印123,456,789
。這太可怕了,因爲這種行爲不是我想要的。
經過一番研究,我懷疑是一個語言環境問題。我一直在使用這行代碼調用initialize
功能
setlocale(LC_ALL,"C");
認爲它可能會重置我的地方到默認後嘗試;但無濟於事。逗號持續!
我錯過了什麼?
我在問題here上發佈了相關跟隨。
這對我的主要局部變量非常有用!但是,我運行的可執行文件也鏈接到10多個自定義共享庫。不幸的是,逗號錯誤傳播到共享庫'stringstreams'和'couts'中。有沒有更好的方法來全局設置本地,而不是遍歷我的庫的所有源代碼,併爲每個我找到的串流添加'imbue(std :: locale(「C」))''? – dinkelk
我編輯的問題更具體。 – dinkelk