У меня есть текстовый файл с некоторыми данными, и я пытаюсь прочитать его в свои объекты.
Это довольно простой формат, состоящий из имени файла, пары значений измерения, а затемсписок пар значений:
StringFileName
IntWidth IntHeight
IntA:IntB IntA:IntB IntA:IntB
IntA:IntB IntA:IntB IntA:IntB
IntA:IntB IntA:IntB IntA:IntB
Например:
MyFile.txt
3 3
1:2 3:4 4:5
9:2 1:5 2:1
1:5 8:3 4:2
There may be more unrelated text here
Вот что у меня есть:
void OnLoad(char* InputFilename) {
string Filename;
int Width;
int Height;
// open the file
ifstream inputFile(InputFilename);
// get the filename
getline(inputFile, Filename);
cout << "Filename is " << Filename << endl;
// get the width and height
string dataLine;
getline(inputFile, dataLine);
stringstream ss(dataLine);
ss >> Width;
ss >> Height;
cout << "Dimensions are " << Width << "x" << Height << endl;
// get the lines of tile-data
for (int Y = 0; Y < Height; Y++) {
/*
* Here is where I'm getting stuck.
* I have a string of "i:i i:i i:i" values, and I get a series of strings
* of "i:i" values, but can't work out the neatest way of splitting it out.
*/
getline(inputFile, dataLine);
stringstream row(dataLine);
for (int X = 0; X < Width; X++) {
int IntA;
int IntB;
// ?
DoStuffWith(IntA, IntB);
}
}
}