簡體   English   中英

MPFR,printf,小數位,語言環境,文件I / O問題

[英]MPFR, printf, decimal places, locales, file i/o problem

我的程序的用戶報告了讀取我的程序編寫的設置文件時遇到的問題。 我查看了有問題的設置文件,而不是使用句點“ . ”而不是小數點,它使用逗號“ , ”。

我假設這與語言環境有關?

文件I / O使用fprintfmpfr_out_str進行文件輸出,使用getline結合atolatofmpfr_set_str等進行文件輸入。

我在這里做什么? 即使機器的區域設置要使用逗號,我是否也應該強制程序始終使用句點? 如果是這樣,我應該從哪里開始?

編輯:我剛剛注意到,在命令行中指定要使用的設置文件而不是通過GUI加載該文件時,會發生此問題-這是否表示OP的機器上或我的代碼中存在問題?

您是否完全調用setlocale 如果沒有,我建議通過先前的setlocale(LC_ALL, "C")建議將用於生成文件的語言環境嵌入設置文件中, 強制所有設置文件I / O使用C語言環境。

另一種選擇是使用特定於語言環境的格式設置功能(在MSVC中帶有_l后綴),並通過_create_locale(LC_ALL, "C")顯式創建C語言環境。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM