我对sscanf和分析float有问题。问题是我试图从文本文件加载浮点数据,但是在Linux上,它在不同的语言环境中的行为很奇怪。它似乎取决于操作系统的小数点设置(,或.),在我加载的文件中,它总是小数点。
所以代码如下:

sscanf(line[i],"%f %f %f %f %f",&floatbuffer[0],&floatbuffer[1], &floatbuffer[2], &floatbuffer[3], &floatbuffer[4]);

但是它不适用于使用逗号(,)作为小数点的区域设置,例如pl_pl。我如何修复它?

最佳答案

你试过了吗:

#include <locale.h>

setlocale(LC_NUMERIC,"C");

关于c - C-sscanf的麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10522253/

10-09 05:39