C-String zusammenfassen



  • heho!
    ich würde gerne 2 C-Zeichenketten zusammenaddieren.

    char buffer[20];
        strcpy(buffer, "hallo ");
        char buffer1[20];
        strcpy(buffer1, "welt");
    char ergebnis[40];
    

    ich würde jetzt gerne beide arrays in das array ergebnis schreiben, sodass "hallo welt" bei rauskommt.
    Ich hatte schon eine Funktion geschrieben, aber die funktioniert aus irgendeinem Grund nicht...

    void gebaus(char array[])
    {
         for (int i=0;array[i]!=0;i++)
         {
             cout << array[i];
         }
         cout << endl;
    }
    
    int cstringlen(char array[])
    {
        int counter=0;
        while (array[counter]!=0)
        {
              counter++;
        }
        return counter;
    }
    
    void stradd(char array1[], char array2[])
    {
         int len1 = cstringlen(array1);
         int len2 = cstringlen(array2);
         char ergebnis[len1+len2+1];
         strcpy(ergebnis, array1);
         for (int i=0;array2[i]!=0;i++)
         {
             ergebnis[len1+i] = array2[i];
         }
         gebaus(ergebnis);
    }
    

    Er hängt immer noch einen zusätzlichen Buchstaben hinten dran 🙄
    mfg
    @night@



  • Die Frage hat mit WinApi nichts zu tun. Das ist ANSI-C oder C++. Mit ANSI-C gibt es dafür die simple Funktion strcat(), die macht das! 🙂



  • thx 👍



  • Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum WinAPI in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten