扫雷C ++ - 无法从文件构建数组

时间:2013-04-14 20:12:59

标签: arrays fstream minesweeper

对于家庭作业,我正在制作一个简单的文本扫雷程序。我需要从随机生成的文本文件中读取数组参数,但是为了首先构建程序,我使用的是已知的示例文件。然而,当我读它时,我只是得到一堆混乱的文本 - 0xbf后跟一些字母,我认为是Unicode。但是,我可以使用infile将前两个值分配给数组维度。任何帮助表示赞赏!

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;
    }

当我运行程序时,我和j出现了正确的值。但是,阵列似乎根本没有构建。从文本文件构建数组的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

如果文本文件中的值是字符串 - 即不是二进制格式 - 则程序应将值读入字符串,然后将字符串转换为整数值。