Strings kopieren und dabei bestimmte Zeichen rauslassen



  • Hallo!

    Ich muss folgendes machen:

    char_array1 ins char_array2 kopieren. Sollten im Array1 Leerzeichen enthalten sein, so dürfen diese nicht ins Array2 mitkopiert werden.

    Bsp:

    char_array1 = {1,' ',3,4)

    dann ist
    char_array2 = {1,3,4}

    Die 3 soll also an der Stelle von ' ', die 4 anstelle von 3 stehen.

    Ich komm einfach nicht dahinter, wie das zu realisieren ist.

    ➡ Help please. 🙂



  • Wenn du so findig bist, begib dich mal auf die Suche nach nem normalen String Copy (google, Forensuche ..) und dann einfach ne if Anweisung reinpacken, dass der ' ' ignoriert. Sollte ja wohl nicht so schwer sein...



  • Ach joa, keine Pointer und, sollten in meinem String beliebig viele Leerstellen aufeinanderfolgend vorkommen, müssen diese ebenfalls ignoriert werden.



  • der_findende schrieb:

    ...sollten in meinem String beliebig viele Leerstellen aufeinanderfolgend vorkommen, müssen diese ebenfalls ignoriert werden.

    das geht genau so, wie das weglassen von nur einem leerzeichen.
    🙂



  • Hab doch hinbekommen, was ich brauchte...

    Nur, warum verursacht das hier

    if(list[i]<97)
       list[i]=list[i]+32;
    

    hierin einen Programmabsturz(Zeilen 11 und 12)?:

    void fkt_char(char list[])
     {
         int i; 
         int count=0;
    
         for(i=0; i<63;i++)
          {
             if(list[i]==32)
                continue;
    
             if(list[i]<97)
                list[i]=list[i]+32;
    
             list[count]=list[i];
    
             count++;
          }
     }
    


  • Ah shit!

    Naja, lieber hier gefragt und selbst draufgekommen als nicht gefragt und nicht draufgekommen... 😃


Anmelden zum Antworten