我想用一個文本文件來初始化一個將被用來初始化一個2D矢量的結構,是的,我知道它很複雜,但最終還是會有很多數據需要處理。問題在於getline,我在其他代碼中以這種方式使用它,但由於某種原因它拒絕在這裏工作。我不斷收到一個參數錯誤和模板錯誤。任何提示將非常感激。getline不與fstream一起工作
#include <fstream>
#include <string>
#include <vector>
#include <iostream>
using namespace std;
const int HORIZROOMS=10;
const int VERTROOMS=10;
const int MAXDESCRIPTIONS=20;
const int MAXEXITS=6;
struct theme
{
string descriptions[MAXDESCRIPTIONS];
string exits[MAXEXITS];
};
void getTheme();
int _tmain(int argc, _TCHAR* argv[])
{
getTheme();
vector<vector <room>> rooms(HORIZROOMS, vector<room>(VERTROOMS));
for (int i=0; i<HORIZROOMS; i++)
{
for (int j=0; j<VERTROOMS; j++)
{
cout<<i<<" "<<j<<" "<<rooms[i][j].getRoomDescription()<<endl;
}
}
return 0;
}
void getTheme()
{
theme currentTheme;
string temp;
int numDescriptions;
int numExits;
ifstream themeFile("zombie.txt");
getline(themeFile, numDescriptions, ',');
for (int i=0; i<numDescriptions; i++)
{
getline(themeFile, temp, ',');
currentTheme.descriptions[i]=temp;
}
getline(themeFile, numExits, ',');
for (int i=0; i<numExits; i++)
{
getline(themeFile, temp, ',');
currentTheme.exits[i]=temp;
}
themeFile.close();
}
你只能在字符串中使用'getline'。 – chris 2013-02-08 17:12:49
我可以建議像[tinyXML](http://sourceforge.net/projects/tinyxml/) – aiao 2013-02-08 17:15:13