作为函数输入的文本文件的标题

Title of text file as an input of function

本文关键字:文本 标题 文件 输入 函数      更新时间:2023-10-16
double function(){
string filename;
ifstream fileIN;
fileIN.open("Layout.txt");
}

我有一个函数,它读取一个txt文件并将数据保存到一个数组中。我现在要做的是,我想把"Layout.txt"作为函数的输入。它应该看起来像

double function(string Layout.txt){
string filename;
ifstream fileIN;
fileIN.open(Layout.txt);
}

显然它不起作用…请帮助!

变量名不能包含.。可以包含字母、数字和下划线(_),且不能以数字开头。所以你可以做的是

void function(string filename) {
    ifstream fileIN;
    fileIN.open(filename);
}

我想你把变量名、字符串值和文件名混淆了。

你需要的显然是这样一个函数:

double function(string const& filename){
    ifstream fileIN;
    fileIN.open(filename);
    // ...
}

或者在c++ 11之前版本中:

double function(string const& filename){
    ifstream fileIN;
    fileIN.open(filename.c_str());
    // ...
}

然后你调用像这样调用它:

function("Layout.txt");

将文件名硬编码到一个明显通用函数的变量名中是没有意义的。您显然想使用function与许多不同的文件,那么为什么使用一个变量名称,使它看起来好像只与一个特定的文件?

很可能你的函数真的只需要处理"Layout.txt"文件。在这种情况下,根本不需要参数:

double function(){
    ifstream fileIN;
    fileIN.open("Layout.txt");
    // ...
}