使用c++将值从文件插入到函数中

Inserting values from a file to a function using c++

本文关键字:插入 函数 文件 c++ 使用      更新时间:2023-10-16

我正试图从每行有一个数字的文件中获取数字。

3
7
8
5
2
1

并将整数从文件插入到代码中称为insert()的函数中。

这是我的:

   int main()
    {   ifstream myfile;
        myfile.open("numbers.txt");
        while(!myfile == EOF)
        {
            myfile.getline(myfile,1000000);
            insert(myfile);
        }
        myfile.close();

display();
return 0;
}

我得到这个错误聚合'std::ifstream myfile'类型不完整,无法定义。

你需要添加

#include <fstream>
using namespace std;

在文件开头。

编辑:另外,您正在调用insert(myfile);,其中myfileìfstream类型,但您对insert的定义是void insert(int)

myfile.getline(myfile,1000000);

这是怎么工作的?让我们看一下文档中的函数签名:

istream& getline (char* s, streamsize n );

istream& getline (char* s, streamsize n, char delim );

函数需要你给它一个char指针s和数组的大小n,你给它一个ifstream myfile和一个非常大的随机int.

创建一个数组用于临时存储读行

char line[99];

,然后传递给函数。

myfile.getline(line,99);


你的void insert(int d)也接受整数,你正试图传递fstream对象给它。你可以保持这样,但是你必须先把字符串转换成整型。试试atoi()