String in char- Array schreiben
-
Hallo,
habe eine Anfängerfrage, komme aus der Java- Ecke und mir ist nicht klar, wie ich einen String in ein char- Array speichere.
Ich habe folgenden Code:char buffer[100]; while(Bedingung) printf("%d) %s\n", run, dirEntry->d_name); // befindet sich in einer Schleife
d_name ist ein char[] und ich möchte die d_name'n alle in char buffer[] mit einem Beistrich als Trennung speichern.
Wie mache ich das am Besten.Vielen Dank,
Generic1
-
irgendwie so ( pointer + strcat/strcpy/memcpy )
char buffer[100]; char * p = buffer; char * end = &buffer[100]; while ( Bedingung ){ size_t len = strlen(dirEntry->d_name); if ( p + len + 1 < end ){ /* Grenzen musst du immer selbst prüfen */ memcpy(p,dirEntry->d_name,len); /* oder auch: strcat(p,dirEntry->d_name) ; */ p=p+len; *p++='-'; /*trennzeichen*/ } else { /*buffer zu klein, entsprechend behandeln und eventuell schleife beenden */ } } if (p > buffer ){ *--p='\0'; } else { *p='\0'; }
-
Besten Dank,
hat geklappt,
lg