我想从二进制文件中读取双精度浮点数并将其分配给一个静态双变量。我已经尝试了很多方法,但无论方法的转换结果是0还是从文件中正确读取数字(作为字符数组),但是当我尝试转换它时会发生什么...包含的标题是:#包括<字符串>#包括< sstream>的#include < stdlib.h>中字符串双重转换allways 0
方法的代码段波纹管式给出:
FILE * pFile;
char mystring [100];
double v;
string temp;
QString t_string;
pFile = fopen ("path_to_binary_file","r");
if (pFile != NULL)
{
if (fgets (mystring , 100 , pFile) != NULL)
{
//I am putting a \0 on the last position since my array finishes with \n
mystring[strlen(mystring) - 1] = '\0';
temp.assign(mystring, mystring + 12);
t_string = QString::fromStdString(temp);
// std::istringstream s(temp);
// s >> sheethConstant;
v = t_string.toDouble();//atof(mystring);
static_variable = v;
}
fclose (pFile);
}
QString的价值是什么? – Jepessen
'std :: stod(“1234.56”)'。 – Chad
你还必须包含一些Qt标题以及所提到的标题。 – Steve