分配:


从文本文件中读取信息(完成)
使用substr方法仅检索文本文件的一部分(完成)
将信息存储到实例变量中(需要帮助)


这是我遇到麻烦的代码:

string* lati;
lati = new string(data.substr(0, data.find_first_of(",")));

double* latDub;
latDub = new double(atof((char *)lati));

this->latitude = *latDub;



我需要将纬度存储到实例变量latitude中。
变量data是读入的文本文件。
this->latitude被声明为double


我已经测试过,变量lati是正确的值,但是一旦我尝试将其转换为double时,由于某种原因,该值将更改为0。我特别应该在转换时使用atof方法!

最佳答案

(char *)lati不会执行您认为的操作。您显然想在其中执行的操作是获取与lati相关的char序列,但是您实际上所做的只是将string*压缩到char*中,这很糟糕。

std :: string上有一个成员函数,该函数将为您提供所需的确切信息。您应该查看文档中的字符串,然后用对该函数的调用替换(char *)lati

07-24 14:38