string bzw. char übergeben



  • hallo leute,

    ich denke für euch eine einfache aufgabe. ich bin neu beim programmieren und bräuchte eure hilfe:

    folgendes: ich habe 4 char-arrays..in drei schreibe ich mit strncpy jeweils was rein und dann möchte ich ins vierte char-array alles zusammen binden..wie kann ich s machen?

    char text[100];
    char text1[100];
    char text2[100];
    gesamt_text[200];
    
    strncpy(text, " dies ist text,", 100);
    strncpy(text1, "text2,", 100);
    strncpy(text2, "text3.", 100);
    
    ???gesamt_text = text + text1 + text2;???
    

    wie lösche ich anschließend, was ich in die char-arrays reingeschrieben habe?



  • ich habe gerade festgestellt, dass ich ein

    char gesamt_text[250][250];
    

    brauche, damit ich eine ausgabe machen kann auf ein feld..



  • Zum Beispiel so:

    char text[100]; 
    	char text1[100]; 
    	char text2[100]; 
    	char gesamt_text[300]; 
    
    	strncpy(text, " dies ist text,", 100); 
    	strncpy(text1, "text2,", 100); 
    	strncpy(text2, "text3.", 100);
    	strcpy(gesamt_text,text);
    	strcpy(gesamt_text+strlen(gesamt_text),text1);
    	strcpy(gesamt_text+strlen(gesamt_text),text2);
    

    "Löschen" kannst du einfach, indem du das erste Element des String auf 0 (=String-Ende-Zeichen) setzt.



  • ahnungsloser09 schrieb:

    ich habe gerade festgestellt, dass ich ein

    char gesamt_text[250][250];
    

    brauche, damit ich eine ausgabe machen kann auf ein feld..

    Das musst du mal näher erklären. Das passt irgendwie nicht so ganz zu deinem geposteten Code... 🙂



  • also, ich brauch komischerweise einen 2d-array zum ausgeben auf ein feld..ich will sozusagen erstmal 3arrays reinschreiben, diese zusammenfügen und den gesamten-array ausgeben..da geht s nicht mit normalen array..



  • char text[100]; 
    	char text1[100]; 
    	char text2[100]; 
    	char gesamt_text[3][100]; 
    
    	strncpy(text, " dies ist text,", 100); 
    	strncpy(text1, "text2,", 100); 
    	strncpy(text2, "text3.", 100);
    	strcpy(gesamt_text[0],text);
    	strcpy(gesamt_text[1],text1);
    	strcpy(gesamt_text[2],text2);
    	for(int i=0;i<3;i++) {
    		printf("%s\n",gesamt_text[i]);
    	}
    

    ?



  • Zeig vielleicht mal mehr Code, damit klarer wird, was genau du machen willst.


Anmelden zum Antworten