我遇到了sscanf和解析浮点数的问题。问题是我正在尝试从文本文件加载浮点数据,但它在Linux上的不同语言环境中表现得很奇怪。它似乎取决于OS小数点设置(,或。),在文件I中加载它始终是小数点。
所以代码就像:
sscanf(line[i],"%f %f %f %f %f",&floatbuffer[0],&floatbuffer[1], &floatbuffer[2], &floatbuffer[3], &floatbuffer[4]);
但它不适用于使用逗号(,)作为小数点的语言环境,例如pl_PL。我该如何解决这个问题?
答案 0 :(得分:2)
你试过了吗?
#include <locale.h>
setlocale(LC_NUMERIC,"C");
答案 1 :(得分:1)
您可以读取/写入二进制数据。
但要注意便携性。