Inhalt eines char ausrichten



  • Mal meinen ganzen Code zu der Sache, vieleicht ist ja schon vorher wa Faul:

    bewegung[0]= Daten[t][i].A2[0]; //1Zeichen speichern
    k=0; //Zähler
    memset(tmp,' ',9);//Feld mit Leerzeichen füllen
    result =1; //Abbruchbedingung
    while (result != 0)
    {
    //restliche Zeichen in tmp speichern
    tmp[k] = Daten[t][i].A2[k+1];
    if (Daten[t][i].A2[k+1] == 32) //kontrolle, ob ein Leerzeichen gefunden wurde result=0;
    k++;
    }
    tmp[k-1]=bewegung[0];//Gespeicherte Bewegung an datensatz hängen
    memcpy(SaetzeM0txt[t][i].A2,tmp,k); //Gewandelte daten speichern
    

    Nach diesem Durchlauf müssen die Daten allerdings rechtsbündig stehen, damit ich sie weiter verarbeiten kann.
    Das char tmp ist komplett gefüllt mit Leerzeichen.

    Weiß nicht, wie ich das realisieren soll?
    Daten vorher : |A1234 |
    Daten nachher: | 1234A|

    Kennt jemand eine Lösung, bin für jeden Hinweis Dankbar.

    Cu
    Oli



  • irgendwie verwirrend...
    möchtest du die Daten einfach nur umkehren?
    Wieso keine
    do
    {
    } while ()
    ? Du hast ja eine Schleife die mindestens einmal durchläuft..
    ...
    Hast du den Code falsch kopiert oder steht das "result = 0"
    wirklich im Kommentar ? (unendlich Schleife)

    tmp[k-1]=bewegung[0];//Gespeicherte Bewegung an datensatz hängen

    Sollten beide Variabeln vom Typ "char[]" sein, so wird da gar nichts
    aneinandergehängt, sonder nur _ein_ Zeichen kopiert...

    Und wesshalb füllst du dein Buffer mit Leerzeichen? Ist "tmp" wirklich
    10 Zeichen gross ?



  • Danke für die Antwort.

    Problem ist gelöst.

    Cu
    Oli


Anmelden zum Antworten