【发布时间】:2015-10-29 13:22:49
【问题描述】:
我是这方面的初学者。我正在尝试读取文件并将其放入二维数组中。这是我的代码。在它输出文件后,它会显示内存中的垃圾,并且循环永远不会结束,除非它达到 50。
include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
char arr[50][50];
ifstream fin;
fin.open("Map.txt");
for (int i = 0; i < 50; i++)
{
for ( j = 0; j < 50; j++)
{
fin.get(arr[i][j]);
}
}
for (int i = 0; arr[i]!=NULL; i++)
{
for (int j = 0; arr[j]!=NULL; j++)
{
cout<< arr[i][j];
}
}
}
文本文件如下所示
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ @@
@@ @@
@@ @@
@@ ^ @@
@@ @@
@@ @@
@@ @@
@@@@@@@@@@@@@@@@ @@
@@ @@
@@@@@@@@@@@@@@@@ @@
@@ @@
@@ x x @@
@@ @@
@@ o @@
@@ @@
@@ o @@
@@ @@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
【问题讨论】:
-
Map.txt里面的数据是怎么排列的?
-
您是要阅读 50 个单词还是 2500 个字符?
-
您的代码无法编译:j 未定义
-
输出循环的结束条件是什么?内部循环中的
arr[j]似乎是错误的,为什么您不能编写与输入循环中相同的条件? -
我正在尝试读取少于 50 个字符。
标签: c++ arrays file text multidimensional-array