所以我试图用C ++创建一个蛇游戏。玩家在开始各种难度的游戏时将选择等级。每个级别都存储在一个.txt文件中,我在从文件填充数组时遇到了问题。这是到目前为止我从文件中获取数组的代码。
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("LevelEasy.txt");
fin >> noskipws;
char initialLevel[10][12];
for (int row = 0; row < 10; row++)
{
for (int col = 0; col < 12; col++)
{
fin >> initialLevel[row][col];
cout << initialLevel[row][col];
}
cout << "\n";
}
system("pause");
return 0;
}
它填充第一行并完美打印。当到达行尾时会出现问题,此后随后会在每行上引起问题。我希望它能像这样打印;
############
# #
# #
# #
# #
# #
# #
# #
# #
############
但是它最终只能打印出这样的内容;
############
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
###
我只是想知道在到达行尾时,如何才能停止添加到数组的行而改为移到下一行?任何帮助将不胜感激。
答案 0 :(得分:3)
这就是我要做的:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
int main() {
std::ifstream fin("LevelEasy.txt");
std::vector <std::string> initialLevel;
std::string line;
while(std::getline(fin,line)) {
initialLevel.push_back(line);
std::cout << line << '\n';
}
}