Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Kopieren per Funktion!

matthew76 / 2 Antworten / Baumansicht Nickles

Hallo zusammen,


Folgende Frage: Ich will in "c" an meine Funktion 2 Zeichenketten übergeben, wobei dann "*strQuelle" an "*strZiel" kopiert werden soll (Also überschrieben). Funktionen wie strcpy usw. dürfen nicht benutzt werden. Ich weiss das ich das nur mit einer Schleife lösen kann aber wie?


Ich Bitte um Hilfe :) Hier nun mein vergeblicher Versuch:


#include <stdio.h>



void kopiere_string(char *strZiel, char *strQuelle){
   
  *strZiel=*strQuelle;



}


 


void main()
{


 char text1[]={"Halli"};
 char text2[]={"Hallo"};


printf("text1= %s", text1);
printf("\ntext2= %s", text2);


kopiere_string(text1, text2);


printf("\n\nAusgabe= %s", text1);


}


 


Mit freundlichen Grüßen

bei Antwort benachrichtigen
vergisses matthew76 „Kopieren per Funktion!“
Optionen

Hi,

mit Deiner Funktion kopierst Du nur das 1. Zeichen
des Quellstring in den Zielstring.

Versuchs mal so:
void kopiere_string(char *strZiel, char *strQuelle)
{
while(strQuelle &&(*strQuelle))
{
(*strZiel)=(*strQuelle);
strZiel++;
strQuelle++;
}
(*strZiel)=0;
}

Aber Vorsicht, der Speicherplat für strZiel muss gross genug
alloziert sein, um strQuelle aufnehmen zu können.
(+ 1 Byte für NULL Terminator)
Sonst gibt es einen Absturz....



bei Antwort benachrichtigen
matthew76 Nachtrag zu: „Kopieren per Funktion!“
Optionen

Super hat funktioniert.
Vielen Dank.

bei Antwort benachrichtigen