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?
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.