hej allesammen.
Jeg har lavet en lille funktion der læser en fil og returnerer noget data, der sker dog en fejl i en lille test jeg har lavet:
#include <iostream>
#include <sstream>
#include "LGFReader.h"
using namespace std;
const char* path = "test.lgf";
string error;
string products[] = {};
string prices[] = {};
stringstream SS;
int main()
{
int i;
string search = "";
for(i = 0; error != "Not found"; i++)
{
SS << i;
SS >> search;
search = "product" + search;
error = LGFReader(path,search,"", 0);
if(error != "Not found")
products[i] = error;
i++;
}
}
Og min LGFReader.cpp
#include "LGFReader.h"
#include <iostream>
#include <fstream>
using namespace std;
string line;
size_t found, pos;
std::string LGFReader(const char* path, string search, string attribute, int flag)
{
search = "<" + search + ">";
ifstream LGFFile(path);
if(flag == 0)
{
while(!LGFFile.eof())
{
getline(LGFFile,line);
found = line.find(search);
if(found != string::npos)
{
pos = line.find_first_of(">");
if(pos == string::npos)
{
return "Syntax error";
}
line = line.substr(pos+1);
pos = line.find_last_of("<");
if(pos == string::npos)
{
return "Syntax error";
}
line = line.substr(0,pos);
return line;
}
}
return "Not found";
}
else if(flag == 1)
{
while(!LGFFile.eof())
{
getline(LGFFile,line);
found = line.find(search);
if(found != string::npos)
{
return line;
}
}
return "Not found";
}
else
{
return "Not defined";
}
}
Fejlen er den snart meget kendte "Just-in-time-debugger" fra visual studio. (Som jeg iøvrigt ikke bruger...?!)
Har lært at fejlen kommer med en fejl i koden, men kan ikke finde den...
Håber i kan hjælpe!
EDIT:
Hov, glemte lige min test.lgf:
<product0>Tony Hawk's Pro Skater 2</product0>
<price0>155</price0>
Indlæg senest redigeret d. 17.03.2008 11:29 af Bruger #11328