ersetzen
-
Wo haperts denn genau?
MfG SideWinder
-
ich versuch das jetzt noch einmal codetechnisch umzusetzen...
die logik hab ich ja verstanden (also bin ich doch nicht so dumm)mfg saroll
-
so, hier is mein neuer code...
aber irgendwie will das ding nicht so wie ich willfor(i;i<strlen(Temp2);) {if(str[i]=='(') {buffer[i]='\\'; buffer[i+1]='('; i+=2; buffer = (char*) malloc (sizeof(buffer) + 2); } else if(str[i]==')') {buffer[i]='\\'; buffer[i+1]=')'; i+=2; buffer = (char*) malloc (sizeof(buffer) + 2); } else {buffer[i]=str[i]; i++; } }
mfg saroll
ps.: immer noch das selbe prob wie vorhin
-
for(i;i<strlen(Temp2);)
du musst i mit 0 initialisieren
buffer = (char*) malloc (sizeof(buffer) + 2);
und du versuchst den buffer mit malloc zu erweitern das wird nicht gut gehen entweder du verwendest realloc (beim ersten Aufruf verhält sich realloc wie malloc)
gib dem buffer zu Beginn mal eine konstante groeße ist einfacher
-
so, ich hab dem buffer ne konstante gegeben und es rennt jetzt auch
aaaber er spuckt mir am ende irgendwelchen sch** aus...
das find ich voll nicht in ordnungmfg saroll
ps:
noch einmal der codefor(i=0;i<strlen(Temp2);) {if(str[i]=='(') {buffer[i]='\\'; buffer[i+1]='('; i+=2; } else if(str[i]==')') {buffer[i]='\\'; buffer[i+1]=')'; i+=2; } else {buffer[i]=str[i]; i++; } }
-
realloc() ist vielleicht für den Anfang tatsächlich logischer als einen Zweitbuffer zu verwenden.
gib dem buffer zu Beginn mal eine konstante groeße ist einfacher
Dafür kannst du die Funktion in die Tonne werfen.
MfG SideWinder
-
naja wahrscheinlich hast du vergessen den string abzuschließen.
c-artige strings haben ja am Ende eine binaere null '\0' kennst du sicher.
du musst also den buffer mit einer null abschließen dann müsste es funktionierenbuffer[i] = 0; // oder halt so *buffer = 0;
-
SideWinder schrieb:
Dafür kannst du die Funktion in die Tonne werfen.
ja ist eh klar, ich meinte natürlich nur fürn anfang wenns programm dann einmal läuft kann ers ja ersetzen
-
Ist das Problem jetzt eigentlich schon gelöst, oder happerts noch wo?
-
hallo!!
das problem ist gelöst, ich mache es zwar statisch aber es reicht so
danke an alle die geholfen habenmfg saroll