substr opfører sig underligt
Hej eksperterJeg har et problem jeg ikke kan gennemskue. Jeg er ved at indlæse en fil i et program, hvor jeg kigger hver linie igennem. Et eksempel kunne være:
serverIP=127.0.0.1;
Jeg bruger følgende kode til dette (Lige pt skriver jeg bare informationen til konsollen):
//Initialize strings
string a = "";
string b = "";
//Gather devider and end points
int devider = line.find("=");
int end = line.find(";");
//Extract information
a.append(line.substr(0, devider));
b.append(line.substr(devider+1, end));
//Print it
printf("%s is %s\n", a.c_str(), b.c_str());
Problemet er at når jeg trækker informationen (Extract information) ud af linierne, så får jeg for meget med.
Jeg skulle gerne end ud med:
a: serverIP
b: 127.0.0.1
Men jeg ender altid ud med:
a: serverIP
b: 127.0.0.1;
Jeg får altid semikolon med, selvom det rent syntax messigt ikke skulle gøre det. Selv i debug mode passer tallene med at semikolon ikke skulle være med, men det kommer med lige meget hvad.
Nogen der har en ide til hvorfor det sker?