Hallo,
ich möchte wie im Titel geschrieben 2 Char Arrays nur mit Hilfe von Zeigern zu einem Char Array zusammenfassen. So etwas wie "std" darf nicht verwendet werden. Ich habe schon folgenden Ansatz geschrieben aber leider funktioniert es nicht. Könnt Ihr mir ein Tipp geben, was ich falsch gemacht hab oder vieleicht ein Quellcode?
Ich glaube das
nicht stimmt, oder der Typ der Funktion nicht richtig ist. Ich weiß aber nicht, wie ich es ändern soll.
Quelltext:
ich möchte wie im Titel geschrieben 2 Char Arrays nur mit Hilfe von Zeigern zu einem Char Array zusammenfassen. So etwas wie "std" darf nicht verwendet werden. Ich habe schon folgenden Ansatz geschrieben aber leider funktioniert es nicht. Könnt Ihr mir ein Tipp geben, was ich falsch gemacht hab oder vieleicht ein Quellcode?
Ich glaube das
Code:
gesamt[index]=*(zeiger1+i);
Quelltext:
Code:
#include <stdio.h>
#include <stdlib.h>
int charLaenge(char* b)
{
char* a = b;
while(*a!='\0')
a++;
return a-b;
}
char anhaengen(char zkette1[], char zkette2[])[]
{
char *zeiger1 ;
zeiger1= &zkette1[0];
char *zeiger2 ;
zeiger2= &zkette2[0];
int laenge = charLaenge(zeiger1) + charLaenge(zeiger2);
zeiger1= &zkette1[0];
zeiger2= &zkette2[0];
char gesamt[laenge];
int index=0;
int i=0;
while(*zeiger1!='\0')
{
gesamt[index]=*(zeiger1+i);
index++;
i++;
}
i=0;
while(*zeiger2!='\0')
{
gesamt[index]=*(zeiger2+i);
index++;
i++;
}
return gesamt;
}
int main( )
{
char test1[] = "Hallo";
char test2[] = "Welt";
printf("\n%c",anhaengen(test1,test2));
printf("%d",(charLaenge(test1)));
return 0;
}