Hallo,
wer kann mir helfen,eine Methode in c zu schreiben die eine String zurüch gibt.z.B char *getName(){},ich bin neue in c eingestiegen und weiß nicht wie das functionniert,ich habe probiert aber ich habe viele Pointer fehler.In java ist einfacht!aber ich muss es in c schreiben.Danke.
wer kann mir helfen,eine Methode in c zu schreiben die eine
String zurüch gibt.z.B char *getName(){},ich bin neue in c
eingestiegen und weiß nicht wie das functionniert,ich habe
probiert aber ich habe viele Pointer fehler.
In normalem C ist Stringbehandlung die Hölle, weil man dabei direkt zur Speicherverwaltung kommt.
Wenn du die Strings irgendwo vorgegeben hast (z.B. in einem Array „Names“), dann geht z.B. das:
char\* getName( int nr ) {
return Names[nr];
}
Das setzt allerdings voraus, dass zwischen dem Aufruf von getName() und der Verwendung des Rückgabewertes die entsprechende Stelle in Names nicht geändert wird. Wenn du eine Kopie haben willst, ist das etwas aufwendiger:
char\* getName( char\* a, int n, int nr ) {
strncpy( a, Names+nr, n-1 ); //benötigt string.h
a[n-1] = '\0'; //null-terminieren
return a;
}
Diese Funktion setzt voraus, dass man ein vorbereitetes Array a der Länge n hat und kopiert dort maximal n-1 Zeichen des gewünschten Eintrages aus Names rein.