我正在编写一个用于读取文本文件并放入数组的程序。首先,我将数据放入char数组,然后将char数组转换为int。在我的循环中,map [,]的值为true。但是当FOR结束所有map [,]时都会改为0。
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int main()
{
char str[100];
ifstream test;
test.open("map.txt");
int n,m,i=0;
//
while(test.getline(str, 100))
{
if(i==0)
n = atoi(str);
else if(i==1)
{
m = atoi(str);
break;
}
i++;
}
int * map;
map = new (nothrow) int [n,m];
//
i = 0;
char * temp;
temp = new (nothrow) char [m];
int j = 0;
while(test.getline(str, 100))
{
cout << str << endl;
if(i<n)
for(j = 0 ; j < m ; j++)
{
/******
// #=1, space=0, P=2, .=3 \\
******/
if(str[j] == ' ')
map[i,j] = 1;
else if(str[j] == '#')
map[i,j] = 0;
else if(str[i,j] == 'P')
map[i,j] = 2;
else if(str[i,j] == '.')
map[i,j] = 3;
cout << map[i,j];
}
cout<<endl;
i++;
}
cout << "----------------------------------------------" << endl;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
cout << map[i,j];
}
cout << endl;
}
test.close();
int a;
cin>>a;
return 0;
}