Einer Char-Zeichenkette ein Leerzeichen hinzufügen.



  • Jain, laufen tuts bei mir auch. Aber gib mal lange Strings ein, dann crasht es. Es wird dir vielleicht nicht angezeigt, aber es crasht.

    Die C Funktionen sind bei falscher Anwendung total unsicher, und leider sind sie sehr einfach falsch zu benutzen.

    Und wie zwischendurch mal gesagt wurde: Du überschreibst (in deinem ersten geposteten Programm das Nullterminierungszeichen mit "ergebnis[laenge] = ' ';", die Funktion sehen so nicht wann dein String zu Ende ist und warten auf das nächste Nullbit, alles dazwischen wird mit ausgegeben und verarbeitet -> böse



  • Skym0sh0 schrieb:

    Jain, laufen tuts bei mir auch. Aber gib mal lange Strings ein, dann crasht es. Es wird dir vielleicht nicht angezeigt, aber es crasht.

    Die C Funktionen sind bei falscher Anwendung total unsicher, und leider sind sie sehr einfach falsch zu benutzen.

    Und wie zwischendurch mal gesagt wurde: Du überschreibst (in deinem ersten geposteten Programm das Nullterminierungszeichen mit "ergebnis[laenge] = ' ';", die Funktion sehen so nicht wann dein String zu Ende ist und warten auf das nächste Nullbit, alles dazwischen wird mit ausgegeben und verarbeitet -> böse

    Das mit der \0 werde ich mir auf jeden Fall merken, ich bedanke mich bei allen die geholfen haben.



  • ...



  • Skym0sh0 schrieb:

    return 0x0;
    }
    

    Sein 0x0 ist natürlich nur ein Joke.
    Nicht angewöhnen.



  • volkard schrieb:

    Skym0sh0 schrieb:

    return 0x0;
    }
    

    Sein 0x0 ist natürlich nur ein Joke.
    Nicht angewöhnen.

    Ach, glaubst du?

    Und angewöhnen?
    -> Nenn mir einen Nachteil oder Unterschied gegenüber return 0;



  • Skym0sh0 schrieb:

    Die C Funktionen sind bei falscher Anwendung total unsicher, und leider sind sie sehr einfach falsch zu benutzen.

    Wenn man weiß was man tut sind die nicht unsicher.
    Allerdings sind, gerade für Anfänger die STL String natürlich besser, wenn man die Strings nur benutzen will. Da der TE aber offensichtlich auch die Hintergründe verstehen will, finde ich es gut, dass er sich damit beschäftigt.

    PS: Sobald es die WINAPI in C++ gibt, verzichte ich auch drauf, aber versuch mal einen STL String in RECV oder SEND zum Einsatz zu bringen ^^

    Insofern @TE: Daumen hoch 😉



  • volkard schrieb:

    Skym0sh0 schrieb:

    return 0x0;
    }
    

    Sein 0x0 ist natürlich nur ein Joke.
    Nicht angewöhnen.

    Also ich nehme bei sowas, wo es nicht unbedingt auf eine hexadezimale Darstellung ankommt, immer Dezimal-Ints, aber das ist sicherlich Geschmackssache.



  • It0101 schrieb:

    Skym0sh0 schrieb:

    Die C Funktionen sind bei falscher Anwendung total unsicher, und leider sind sie sehr einfach falsch zu benutzen.

    Wenn man weiß was man tut sind die nicht unsicher.

    Klar, wenn man weiss was man tut, ists es in Ordnung.

    It0101 schrieb:

    PS: Sobald es die WINAPI in C++ gibt, verzichte ich auch drauf, aber versuch mal einen STL String in RECV oder SEND zum Einsatz zu bringen ^^

    Naja, dann muss man was tricksen und sich was passendes schreiben, aber das ist nicht unmöglich. (Wenn man weiss, was man macht.)



  • Skym0sh0 schrieb:

    volkard schrieb:

    Skym0sh0 schrieb:

    return 0x0;
    }
    

    Sein 0x0 ist natürlich nur ein Joke.
    Nicht angewöhnen.

    Ach, glaubst du?

    Und angewöhnen?
    -> Nenn mir einen Nachteil oder Unterschied gegenüber return 0;

    Du tust mit dem Code so, als hätte es eine teifere Bewandtnis, als hätten die Einzelbits eine spezielle Bedeutung. Und jeder Leser stockt da erstmal und überlegt.

    Sollten sich Mathematiker ein

    return 113/355;
    

    angewöhnen? Sicherlich ist dieser Beinahe-Kehrwert von PI besonders hübsch und hat es aus mancherlei Gründen verdient, jedes Programm zu zieren. 🤡

    Ach, weil es so schön dazupasst. Vor ein paar Jahren kursierte hier der

    virtual void bar()=0x0;//gcc-shocker
    

    , der Auto war auch völlig sicher, daß man die 0 in Hex schreiben muss.



  • volkard schrieb:

    Du tust mit dem Code so, als hätte es eine teifere Bewandtnis, als hätten die Einzelbits eine spezielle Bedeutung. Und jeder Leser stockt da erstmal und überlegt.

    Ok, 1:0 für dich 😞
    Ich machs eigentlich nur rein fürs Aussehen, hab meine IDE auch so eingestellt, dass Zahlenliterale pink sind 😉



  • Vieles ist eben wirklich Geschmackssache, aber an manchen Stellen sind gerade Hexadezimalzahlen unnütz wie ein Kropf.
    Manche Sachen verursachen einfach unnötige Denkprozesse im Gehirn, aber solche Dinge macht auch Volkard, auch wenn er es nie zugeben würde 😉

    Es gibt nunmal nicht genau DIE richtige Programmierung, auch wenn das viele hier nicht wahrhaben wollen und sich aufführen für religiöse Fanatiker.


Anmelden zum Antworten