mc_gulasch
Erfahrenes Mitglied
Hi zusammen,
ich hab folgendes Problem:
Dieser Code läuft nicht mit der Fehlermeldung einer Speicherverletzung.
Auch Versuche mit:
Kann mir da wer helfen? Hab keine Ahnung was da passiert. Zur Erklärung vielleicht noch:
Ich hab nen String aus n Zeichen bestehend. Im case(40) wird dieser dann bis zu Stelle i verarbeitet. Nach dieser Verarbeitung will ich den String an der Stelle i abschneiden, genauer will ich den String ab der Stelle i auf die Stelle 0 vorziehen und den bereits verarbeiteten Teil vergessen.
string[] = blablub
String1: bla
Verarbeitung
string[] = blub
Ich hoffe da hat wer ne zündende Idee. Danke euch!
//EDIT
Hat sich erledigt. Oh Mann wie blöd. Ich übergebe *string als Parameter in der Funktion. Da kann ich natürlich lang rumändern. Sorry.
ich hab folgendes Problem:
C:
for (i=0;i<strlen(string);i++)
{
switch((unsigned int) string[i])
{
/*andere faelle*/
case(40):
for(zaehler=i;zaehler<deleter;zaehler++)
string[zaehler-i]=string[zaehler];
/*usw*/
}
}
Auch Versuche mit:
C:
for(zaehler=i;zaehler<deleter;zaehler++)
*(string+zaehler-i)=*(string+zaehler);
/*********************************************/
strcpy(holder,string) /*<- das geht */
for(zaehler=i;zaehler<deleter;zaehler++)
string[zaehler-i]=holder[zaehler];
/*********************************************/
ANFANG
if (brain!=0)
strcpy(string,holder);
for (i=0;i<strlen(string);i++)
{
switch((unsigned int) string[i])
{
/*andere faelle*/
case(40):
strcpy(holder,&string[i]) /* <- das geht */
brain = 1;
goto ANFANG;
/*usw*/
}
}
/*Hab auch schon "holder" dyn.und statisch alloc. */
Kann mir da wer helfen? Hab keine Ahnung was da passiert. Zur Erklärung vielleicht noch:
Ich hab nen String aus n Zeichen bestehend. Im case(40) wird dieser dann bis zu Stelle i verarbeitet. Nach dieser Verarbeitung will ich den String an der Stelle i abschneiden, genauer will ich den String ab der Stelle i auf die Stelle 0 vorziehen und den bereits verarbeiteten Teil vergessen.
string[] = blablub
String1: bla
Verarbeitung
string[] = blub
Ich hoffe da hat wer ne zündende Idee. Danke euch!
//EDIT
Hat sich erledigt. Oh Mann wie blöd. Ich übergebe *string als Parameter in der Funktion. Da kann ich natürlich lang rumändern. Sorry.
Zuletzt bearbeitet: