您的位置:首页 > 编程语言 > C语言/C++

VC++读取文件内容并将其存入二维数组

2010-05-30 09:34 274 查看
CFileDialog dlg(true,_T("map"),_T("*.map"));
CString strPath;
 if(dlg.DoModal()==IDOK)
 { 

  //获取文件路径
  strPath=dlg.GetPathName();
  if(strPath.Right(4)!=L".map")
   strPath+=L".map";
  int len = WideCharToMultiByte(CP_ACP, 0, strPath, -1, NULL, 0, NULL, NULL);
  char*  filepath = new char[len + 1];
  //memset(filepath, 0, len + 1);
  WideCharToMultiByte (CP_ACP, 0,strPath, -1, filepath, len, NULL,NULL);

  ReadMap(filepath);

}

 

 

void ReadMap(const char* filepath)
{
 //将文件中的数据读取到数组m_map中
 ifstream ifs(filepath);
 ifs>> m_mapSizeX >> m_mapSizeY;
 m_map = (int**)calloc(m_mapSizeY,sizeof(int*));
 int x,y;
 for(y=0;y<m_mapSizeY;y++)
 {
  m_map[y] = (int*)calloc(m_mapSizeX,sizeof(int));
  for(x=0;x<m_mapSizeX;x++)
  {
   //将数据读入地图数组
   ifs>>m_map[y][x];
  }
 }
 ifs.close();

 }

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vc++ null