【发布时间】:2014-04-08 03:50:33
【问题描述】:
我有一个 Map.txt 文件,并且在该文件中保存了一个 2D 数组,但是每当我尝试在我的主程序中打印我的 2D 数组时,我都会得到疯狂的数字。代码:
cout << "Would you like to load an existing game? Enter Y or N: " << endl;
cin >> Choice;
if (Choice == 'Y' || Choice == 'y')
{
fstream infile;
infile.open("Map.txt");
if (!infile)
cout << "File open failure!" << endl;
infile.close();
}
if (Choice == 'N' || Choice == 'n')
InitMap(Map);
地图保存在文件中:
********************
********************
********************
********************
********************
********************
********************
**********S*********
*****************T**
********************
程序运行时的输出:
Would you like to load an existing game? Enter Y or N:
y
88???????`Ė
?(?a????
??_?
?дa??g @
Z???@
?
?a??p`Ė??p]?
??_???`Ė?
??a??#E@??
??_??
【问题讨论】:
-
请准确显示文件的样子,以及实际尝试打印的代码的相关部分。
-
你已经展示了打开和关闭文件的代码。把从文件中读取二维数组的代码和你得到什么样的输出。
-
我不知道如何从文件中读取二维数组。
-
那么你怎么能指望输出不疯狂呢?
-
别管二维数组,你知道如何从文件中读取一个字符吗?您是否尝试过在 C++ 教科书中查找“文件”?还是网上搜索?你试过什么吗?