0

宿題として、単純なテキスト マインスイーパ プログラムを作成しています。ランダムに生成されるテキスト ファイルから配列パラメーターを読み取る必要がありますが、最初にプログラムをビルドするために、既知のサンプル ファイルを使用しています。しかし、それを読み込んでみると、0xbf の後に Unicode と思われるいくつかの文字が続く、ごちゃまぜのテキストが表示されます。ただし、infile を使用して、最初の 2 つの値を配列の次元に割り当てることができます。どんな助けでも大歓迎です!

int main()
{
    //VARIABLES
    int i;
    int j;
    int arrayPos = 0;
    int rowPos;
    int colPos;



        //stream variable declaration
        ifstream infile;

        //open stream files
        infile.open("hw08in.txt");

        infile >> i;
        infile >> j;

        cout << i << " " << j; //test whether the file is being read correctly
        cout << endl;

        int minefield[i][j];
        for(int rowPos=0; rowPos<i; rowPos++)    
    {
        for(int colPos=0; colPos<j; colPos++) 
        {
            infile >> minefield[i][j]; 
        }
    }

        cout << minefield;  



    infile.close();


    return 0;
    }

プログラムを実行すると、i と j が適切な値になります。ただし、アレイはまったく構築されていないようです。テキスト ファイルから配列を作成する正しい方法は何ですか?

4

1 に答える 1

0

テキスト ファイル内の値が文字列の場合 (つまり、バイナリ形式ではない場合)、プログラムは値を文字列に読み取ってから、文字列を整数値に変換する必要があります。

于 2013-04-14T20:18:02.003 に答える