Einzelnen Beitrag anzeigen
Alt 20.06.2004, 17:29   #6
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

hi !

@m3_: stimmt, man muss für den string speicher reservieren.

wie groß der sting da ist, ist egal - ein "char" speichert genau 1 zeichen. also z.B. char buffer[20] verwenden

zuweisen kann man einen string (in C) nicht man muss dazu ein stringfunktion verwenden. z.B. strcpy(buffer,"stabil");

weoterer fehler: du vereinbarst in einer funktion einen char - dieser wird am stack angelegt. am ende der funktion gibts du einen zeiger auf eine stack variable zurück !
das führt früher oder später zu fehlern, da der stack nach dem verlassen der Fu. freigegeben wird, die variable also einfach zerstört wird.

Lösung: static verwenden, oder in der main funktion speicher für den string allokieren und die adresse dieses speichers an die aufgerufenen Fu. übergeben -
dort dann (wie auch jetzt) die zuweisung machen.

...ist in C++ oder C# alles einfacher, aber ich denke mal, das gibts am TI 200 nicht.

fg
-hannes
Biri ist offline   Mit Zitat antworten