如何从记事本文件中取出数据并将其放入用户定义的函数中
How do I take data out of a notepad file and place it into a user defined function?
我的教授给了我们一项任务,我们必须获取一个数据文件,其中包含一家电话公司的信息,并希望我们记录通话记录并找到最终费用。我确信我的功能还可以,但他并没有真正解释如何从数据文件中提取信息。(他的例子很简单)。
文件中的列分别表示电话号码、公司代码、本地分钟数和长途分钟数。这是我在函数中设置参数的顺序。
我的代码:
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
。请参阅参考资料,并在课堂上集中注意力。
相关文章:
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 使用用户定义函数的字符串反转
- 用户定义函数中的指针和输入
- 函数计算用户按下按钮的频率
- 函数如何通知用户它基于函数原型抛出异常?
- 参数包构造函数在类模板中隐藏用户定义的转换
- C++:用户定义的显式类型转换函数错误
- 是否有 Windows 用户空间函数来枚举连接的网络共享?
- 为用户定义的类正确调用复制构造函数/赋值运算符
- 为什么用户定义的函数不按照给定的顺序对相同长度的元素进行排序?
- 使用宏编译时使用用户定义的数学函数,或者仅使用 c++ 中标准数学库中的函数
- 在 C++ 中声明 const 对象需要用户定义的默认构造函数.如果我有一个可变成员变量,为什么不呢?
- 如何使用用户定义的函数覆盖 C lib 函数,如 _sbrk?
- C++ - 将结构类型的数组传递给用户定义的函数
- 修改链表主函数代码,用户将在其中输入节点的索引和数据以及正确的消息
- 使用用户定义的类型 UDT 实例化 std::atomic<>。如果 UDT 具有虚函数,则 l 墨水将失败。为什么?
- CURLOPT_INTERLEAVEFUNCTION回调函数始终接收 nullptr 作为用户数据指针
- 错误:调用'strcmp'没有匹配函数(尝试设置显示用户信息功能)
- 如何防止用户指定函数模板参数,迫使其进行推导
- 使用用户函数在 C++ 中交换两个结构