如何从记事本文件中取出数据并将其放入用户定义的函数中

How do I take data out of a notepad file and place it into a user defined function?

本文关键字:用户 函数 定义 数据 记事本 文件      更新时间:2023-10-16

我的教授给了我们一项任务,我们必须获取一个数据文件,其中包含一家电话公司的信息,并希望我们记录通话记录并找到最终费用。我确信我的功能还可以,但他并没有真正解释如何从数据文件中提取信息。(他的例子很简单)。

文件中的列分别表示电话号码、公司代码、本地分钟数和长途分钟数。这是我在函数中设置参数的顺序。

我的代码:

int main()
{
    int pNumber;
    char company;
    int localMin;
    int longMin;
    ifstream infile;
    ofstream outfile;
    infile.open("e:/C++/Lab Assignments/Lab 6/phoneData.dat");
    outfile.open("e:/C++/Lab Assignments/Lab 6/companyComparison.bat");
    while(!infile.eof())
    {
        if(pNumber > 111000)
            **infile >> companyA(int pNumber, char company, int localMin, int longMin); **
    }
    infile.close("e:/C++/Lab Assignments/Lab 6/phoneData.dat");
    outfile.close("e:/C++/Lab Assignments/Lab 6/companyComparison.bat");
    system("pause");
    return 0;
}

我在主函数的while循环中出错。我在有问题的代码行周围加了两个星号。我只是不知道该怎么解决。

您不将数据"放置"到函数中,而是传递它们。这就是函数参数的作用。除此之外,

companyA(int pNumber, char company, int localMin, int longMin);

是一个函数声明,它在这里根本没有位置。

以下是经过编辑的代码,它使用您声明的变量,而不使用std::basic_ios::eof:

// read to intermediate variables
while(infile >> pNumber >> company >> localMin >> longMin) 
{
    if(pNumber > 111000)
        // just call the function, passing intermediate variables
        companyA(pNumber, company, localMin, longMin);
}

此外,std::basic_fstream不具有接受一些参数(路径)的close。请参阅参考资料,并在课堂上集中注意力。

相关文章: