我想读入文本文件中的所有内容(但文本文件中只有一个double值),转换为double并返回值 我是C++初学者。我有一个值为3.0的文本文件(它会改变 对于我的程序的每次运行)。我想创建一个C++函数 打开某个文件夹中的文本文件,读取该值,并将其转换为

我想读入文本文件中的所有内容(但文本文件中只有一个double值),转换为double并返回值 我是C++初学者。我有一个值为3.0的文本文件(它会改变 对于我的程序的每次运行)。我想创建一个C++函数 打开某个文件夹中的文本文件,读取该值,并将其转换为 ,c++,C++,我想读入文本文件中的所有内容(但文本文件中只有一个double值),转换为double并返回值 我是C++初学者。我有一个值为3.0的文本文件(它会改变 对于我的程序的每次运行)。我想创建一个C++函数 打开某个文件夹中的文本文件,读取该值,并将其转换为 双击变量并返回此值,然后关闭文本文件 //read value, convert and return double getDoubleValueFromFile(string filename, string path) { stri

我想读入文本文件中的所有内容(但文本文件中只有一个double值),转换为double并返回值 我是C++初学者。我有一个值为3.0的文本文件(它会改变 对于我的程序的每次运行)。我想创建一个C++函数 打开某个文件夹中的文本文件,读取该值,并将其转换为 双击变量并返回此值,然后关闭文本文件

//read value, convert and return
double getDoubleValueFromFile(string filename, string path) {
    string stringValue;
    double doubleValue; 

    string line;
    string concat = path + filename;
    using namespace std;

    ifstream myfile(concat);

    if (myfile.is_open())
    {
        while (getline(myfile, line))
        {   
            //read value into stringValue
        }
        myfile.close();
    }
    else cout << "Unable to open file";
    //convert stringValue to doubleValue

    return doubleValue;
}
//读取值、转换和返回
double getDoubleValueFromFile(字符串文件名、字符串路径){
字符串字符串值;
双重价值;
弦线;
字符串concat=路径+文件名;
使用名称空间std;
ifstream-myfile(concat);
如果(myfile.is_open())
{
while(getline(myfile,line))
{   
//将值读入字符串值
}
myfile.close();
}

否则,如果您只对文件开头的单个值感兴趣,则无需读取循环中的行。只需使用
运算符>>
直接读取该值即可:

double getDoubleValueFromFile(字符串文件名,字符串路径)
{
双倍值=0.0;
std::ifstream myfile(路径+文件名);
如果(myfile.is_open())
myfile>>双重值;
其他的

std::cout所有输入流的
>
运算符都可以为您执行此转换。只需执行
myfile>>doubleValue
。如果您想逐行读取,可以从
构造
std::istringstream
并从中读取(
std::istringstream iss(line);iss>>doubleValue