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

Posted

技术标签:

【中文标题】如何从记事本文件中取出数据并将其放入用户定义的函数中?【英文标题】:How do I take data out of a notepad file and place it into a user defined function? 【发布时间】:2015-11-11 22:11:59 【问题描述】:

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

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

我的代码:

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;

我在 main 函数的 while 循环中遇到错误。我在有问题的代码行周围加上了双星号。我只是不确定如何解决这个问题。

【问题讨论】:

欢迎来到 SO!请将代码片段组装成Minimal, Complete, and Verifiable example。几乎没有人愿意在帮助您编写作业代码之前解决代码难题。 “记事本文件”不就是普通的文本文件吗? @Namit 如果回答了您的问题,请随意接受。 【参考方案1】:

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

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。见reference并在课堂上关注。

【讨论】:

infile >> companyA(...) 没有意义。不应该只是函数调用吗?

以上是关于如何从记事本文件中取出数据并将其放入用户定义的函数中?的主要内容,如果未能解决你的问题,请参考以下文章

从 SQL 中提取一列值并将它们放入数组 VBA [关闭]

android html5,如何从图库应用中获取照片并将其放入画布中

如何从某个网页复制所有文本并将其保存到记事本C#

Pandas 如何从 JSON 索引列表并将其放入数据框中?

如何从highgui模块(opencv)中提取函数并放入代码文件

如何从文件中提取String和Int,并将其放入2D Array中。