Aviseringar
Rensa alla

Ser ni felet i denna kod?


Ämnesstartare

Förstår inte vad jag har gjort fel nu, har nog dubbelkollat koden 14 gånger. Koden kompilerar utan problem, men loopen är oändlig.

#include <iostream>
#include <fstream>
#include <string>

int main() {
std::ifstream f("gdxg");

std::string str;
getline(f, str); // format: (0,0,"str")(23,66,"anotherstr")
size_t found;

found = str.find(")");
while (found != std::string::npos) {
std::string temp = str.substr(0,int(found));
str = str.substr(int(found), str.size());
found = str.find(")");
}

f.close();
return 0;
}

Det fungerar inte att skriva ut värdet på found heller, alldeles som inget lagras i den. Kaka till den som hittar felet.


   
Citera

Jag vet inte riktigt någonting om sånt där men någonting som verkar logiskt är ju att du har missat en "{" längst ned.

Alltra längst ned har du en åt andra hållet vilket jag antar är ett avslut, därför har du ingen början på f.close() ;


   
SvaraCitera

pröva att byta ut

        while (found != std::string::npos) {
std::string temp = str.substr(0,int(found));
str = str.substr(int(found), str.size());
found = str.find(")");
}

mot

        while (found != std::string::npos) {
std::string temp = str.substr(0,int(found));
str = str.substr(int(found)+1, str.size());
found = str.find(")");
}

Jag tror att substr():s startposition är samma som du fann ett tecken på, vilket betyder att till exempel "hitler)anus" substr():as som ")anus" istället för "anus", vilket betyder att du för evigt kommer finna samma tecken. Jag har ingen C/C++-kompilator i närheten (läs: jag är lat), så pröva att pröva efter det.


   
SvaraCitera
Ämnesstartare

Gentlemen:

Jag tror att substr():s startposition är samma som du fann ett tecken på, vilket betyder att till exempel "hitler)anus" substr():as som ")anus" istället för "anus", vilket betyder att du för evigt kommer finna samma tecken

Ja, det visade sig vara felet. Tack för hjälpen.


   
SvaraCitera

heroes


   
SvaraCitera
Ämnesstartare

jag kollade igenom koden och såg att jag faktiskt kände igen endel.. så e dettta Python?


   
SvaraCitera
Åtta

armagan:

så e dettta Python?

Nepp.


   
SvaraCitera

armagan:

jag kollade igenom koden och såg att jag faktiskt kände igen endel.. så e dettta Python?

Image


   
SvaraCitera
Ämnesstartare

men varför känner jag igen det då? E det vision basic?


   
SvaraCitera
Ämnesstartare

armagan:

vision basic

Nu hittade du på ett helt eget språk.

Det är C++ [censur]


   
SvaraCitera

armagan:

men varför känner jag igen det då? E det vision basic?

Det är maskinkod.


   
SvaraCitera
Ämnesstartare

oh...

men vadå Vision Basic är visst ett programspråk. man kan tex använda det när man kodar till Silverlight.


   
SvaraCitera

Shit, det närmaste sånt här jag har kommit är presentationen på lunar[zzz]


   
SvaraCitera
Ämnesstartare

armagan:

oh...

men vadå Vision Basic är visst ett programspråk. man kan tex använda det när man kodar till Silverlight.

Du menar isåfall Visual Basic.


   
SvaraCitera
Ämnesstartare

armagan:

men vadå Vision Basic är visst ett programspråk. man kan tex använda det när man kodar till Silverlight.

Visual basic är för lägre stående människor.

Då du verkar vara intresserad, kör på med python: http://www.python.org


   
SvaraCitera