Forum: Compiler & IDEs Parameterübergabe


von Dummi (Gast)


Lesenswert?

Ich will ein String-Array an ein Unterprogramm übergeben.
Im Unterprogramm will ich den String bearbeiten und mit atoi in einen
Integer speichern.
Nach folgendem Prinzip:

unsigned int geschw(unsigned char *string)
{
  // Verschiedene Operationen für Stringbearbeitung
        return atoi(string);

}


int main(void)
{
  unsigned char test[]="0005";
  int i;
  i= geschw(test);

}

Funktioniert so allerdings nicht. – bekomme immer 0 zurück
Wahrscheinlich ist es ein sehr dummer Fehler – bin C-Neuling
Wie muss die Parameterübergabe richtig sein, damit ich durch atoi 5
zurückgeliefert bekomme?

von Karl H. (kbuchegg)


Lesenswert?

Hmm.
Das sollte genau so funktionieren wie Du es geschrieben
hast. (OK: atoi will einen const char* und keinen
unsigned char*, aber das ist hier nicht das Problem).

Ist das exakt zu 100% Dein Code?

von Dummi (Gast)


Lesenswert?

Ok,
ich habe jetzt den Fehler!
Die Funktion muss natürlich „int geschw(unsigned char *string)“ und
nicht „unsigned int geschw(unsigned char *string)“ heißen.

Trotzdem Danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.