Anfängerproblem! Char* und Char
-
Hast du eventuell zu wenig Speicher hinter sdest bereitgestellt? (btw, mit dem Aufruf würdest du vermutlich "Haus ist groß" kopieren)
-
Genau, also ich habe jetzt anstatt strlen(xy) einen statischen wert genommen.
Jetzt bekomme ich "Haus ist groß''''''''''''''''''''''" als output...
Man gibts nix wie in VB, dass ich sag Anfang, Ende, und er mir dann "Haus" rausgibt.Danke schonmal für die Antwort !!!!
-
Doch gibt es, allerdings heißt es hier Anfang+Länge
strncpy(ziel,quelle,max_len);
Die gewünschte Länge kannst du mit "ende-anfang" selber ausrechnen.
-
prima, so klappts, aber hintendran sind so komische Zeichen...
Habse gar net auf de Tastatur. Hab jetzt genau die Länge und "Haus " steht auch prima im String, dafür stehen halt noch so Y-ähnliche Zeichen mit drin.
Hab ich was vergessen ?Danke nochmal
-
Es könnte sein, daß strncpy kein \0 an den String angehängt hat - das müsstest du noch manuell erledigen (ziel[len]='\0'; nach dem strncpy-Befehl).
(solche kryptischen Zeichen in der Ausgabe sind ein recht sicheres Zeichen für einen fehlenden Null-Trminator am Stringende)
-
Bei strncpy übergibt man auch nicht die Länge des zu kopierenden Strings, sondern die Größe (einschl. Nullbytes) der gesamten Zielregion. Dann hängt strncpy auch ein Nullbyte an (genauergesagt wird der gesamte Speicherbereich von Stringende bis Pufferende genullt).
Ansonsten ermitteln strncpy (wie auch strcpy) die Länge des zu kopierenden Strings selbst.
-
Also mein Input ist prima (denk ich mal),
wie komm ich jetzt am besten voran ?? *mist*
des is doch echt net normal oder ?
-
Ne, das ist echt nicht normal wenn einer nicht in der Lage ist uns mitzuteilen was er möchte...
wie komm ich jetzt am besten voran ?? *mist*
des is doch echt net normal oder ?Was heisst das
a) Du hast unsere Antworten nicht verstanden
b) Du hast unsere Antworten verstanden aber nicht umgesetzt
c) Du hast unsere Antworten umgesetzt aber es funktioniert immernoch nicht?PS: (Nur für den Fall dass es zuviel verlangt ist das vorauszusetzen)
falls a) was hast Du nicht verstanden?
falls b) warum??!?!
falls c) was funktioniert nicht?
-
Jo, also ich bräuchte eher was wo ich nicht nach
"H" "A" "U" "S" suche, sondern nach "Haus"...
Alles aber ohne MFC-Strings...thx.
-
Lies mal das:
http://www.pronix.de/pronix-735.html
Da wird erklärt, wie C-Strings aufgebaut sind.Es gibt in C keinen Datentyp string oder sowas.