0

各行に番号があるファイルから番号を取得しようとしています。

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' has incomplete type and cannot be defined. が表示されます。

4

2 に答える 2

1

myfile.getline(myfile,1000000);

これはどのように機能するはずですか?DOCUMENTATIONの関数のシグネチャを見てみましょう。

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 オブジェクトを渡そうとしています。このように保つことができますが、最初に string を int に変換する必要があります。試すatoi()

于 2013-05-07T04:52:40.310 に答える
1

追加する必要があります

#include <fstream>
using namespace std;

ファイルの先頭。

insert(myfile);編集: また、 where myfileis の typeを呼び出してìfstreamいますが、の定義はinsertisvoid insert(int)です。

于 2013-05-07T04:43:10.593 に答える