mhmh scheinbar kann man hier keine Beiträge editieren..
Christian schrieb:
> Naja insgesamt wurden natürlich im Laufe des Programmtextes die beiden
> Strings "gefüllt" .
>
> int i = 0;
> char Text [20] ; // Text wäre zum Beispiel Hall
> char Text2[10] ; // und hier steht zb an Stelle Text[5] ein O
> Text [0] = '\0';
> Text2 [0] = '\0';
>
> strcpy(Text, "Hall");
> strcpy(Text2, "o~a~x~"
>
> while (Text2[i] != '~')
> {
> strcat(Text,Text2[i]); // diese Zeile funktioniert nicht
> i++;
> }
>
> // ...
>
>
> So sollte es sein nur wie ich im Kommentar geschrieben habe geht die
> Zeile mit strcat leider nicht
strcat erwartet als Parameter 2 Zeiger. Du übergibst hier aber als 2.
Parameter kein Zeiger, sondern direkt ein char. Weiterhin musst du bei
strcat einen null-terminierten String übergeben. Einzelne Zeichen kannst
du denke ich besser direkt kopieren, vllt. so:
1 | int i = 0;
|
2 | int len = 0;
|
3 | char Text [20] ; // Text wäre zum Beispiel Hall
|
4 | char Text2[10] ; // und hier steht zb an Stelle Text[5] ein O
|
5 |
|
6 | strcpy(Text, "Hall");
|
7 | strcpy(Text2, "o~a~x~");
|
8 |
|
9 | i=0;
|
10 |
|
11 | while (Text2[i] != '~')
|
12 | {
|
13 | len = strlen(Text);
|
14 | Text[len+1] = Text2[i];
|
15 | Text[len+2] = 0;
|
16 | i++
|
17 | }
|
So auf die schnelle geschrieben. Eine überprüfung auf einen Überlauf
musst du da im Grunde aber noch hinzufügen, sonst ist es sehr
Fehleranfällig.
Viele Grüße,
Kalka