c++ %f点代替逗号
C++ %f dot instead of comma
本文关键字:c++ 更新时间:2023-10-16
我正在阅读c++中的一个文件,其中浮点数(%f)有一个点而不是逗号。
文件中的每一行都有3个这样的数字
1.000 -1.000 0.000
例如。
我的应用程序不希望读取超过点的数字,所以如果我读取
fscanf(file, "%f %f %fn", &x, &y, &z );
例如,将x设置为1,其他所有内容都保留为0,因为它只读取到第一个点。
我已经在某个地方读到,我应该使用setlocale或类似的东西来改变区域设置,但它没有成功。
谁能解释一下如何正确地做或者是否有其他方法?
编辑:
我把"QT"从标题里去掉了。首先它在那里,因为我认为也许QT有一些特殊的设置或地方的东西。奇怪的是,我的ST3默认C++ Single File
构建系统的区域设置已经设置为使用点而不是逗号,但我不得不在QT中设置它。
你可以添加
setlocale(LC_ALL, "C");
在呼叫fscanf
之前。一定要加上
#include <locale.h>
能够呼叫setlocale
。
关于setlocale的更多信息请访问http://en.cppreference.com/w/c/locale/setlocale。
相关文章:
- 没有找到相关文章