Anzeige:
Ergebnis 1 bis 11 von 11

Thema: cout

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.11.2002
    Beiträge
    61

    cout

    Wenn ich bei cout mit strings arbeite und 2 hintereinader schreibe zb:
    PHP-Code:
    cout << "\n"<<string1<<" "<<string2
    ist bei jedem string ein Zeilensprung inklusive also die ausgabe ist jetzt:
    string1
    string2
    ich will aber

    string1 string2 string3.....

    gibt es da einen extra befehl?

  2. #2
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665

    Re: cout

    Original geschrieben von sven1978
    Wenn ich bei cout mit strings arbeite und 2 hintereinader schreibe zb:
    PHP-Code:
    cout << "\n"<<string1<<" "<<string2
    ist bei jedem string ein Zeilensprung inklusive also die ausgabe ist jetzt:
    string1
    string2
    ich will aber

    string1 string2 string3.....
    das liegt nicht daran, dass es strings sind, sondern daran, dass deine strings anscheinend einen zeilenwechsel enthalten...

    probier mal folgendes:

    Code:
    string1.erase(string1.length()-1,1);
    string2.erase(string2.length()-1,1);
    cout << endl << string1 << " " << string2;
    dadurch solte bei beiden strings das letzte zeichen (der zeilenwechsel) gelöscht werden
    Geändert von BLUESCREEN3D (23-07-2003 um 19:22 Uhr)

  3. #3

  4. #4
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    @berufspenner:

    was soll er mit funktionen zum verbinden von strings? das würde nichts daran ändern, dass zeilenwechsel drin sind...

  5. #5
    Registrierter Benutzer Avatar von Berufspenner
    Registriert seit
    30.03.2002
    Ort
    Hamburg
    Beiträge
    567
    Original geschrieben von BLUESCREEN3D
    @berufspenner:

    was soll er mit funktionen zum verbinden von strings? das würde nichts daran ändern, dass zeilenwechsel drin sind...
    Leuchtet ein Ich war nur hiervon leicht ein wenig irretiert/abgelenkt
    string1 string2 string3.....
    Cu
    André

    Edit: Strings enthalten doch auch wie CharArrays ein Terminierung ('\0' )?!
    Geändert von Berufspenner (23-07-2003 um 19:30 Uhr)
    C und C++

  6. #6
    Registrierter Benutzer
    Registriert seit
    25.11.2002
    Beiträge
    61
    Das muss ich dann in meine Klasse einbauen oder(die strings sind private)

    Auserdem ist das letzt zeichen nicht \0?Also stringende

  7. #7
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Original geschrieben von sven1978
    Das muss ich dann in meine Klasse einbauen oder(die strings sind private)

    Auserdem ist das letzt zeichen nicht \0?Also stringende
    ist die 1. zeile eine frage? welche klasse? erase ist in der string-klasse schon enthalten

    ein string hoert immer mit NULL auf - wenn vor dem NULL ein zeilenwechsel ist, dann ist da eben ein zeilenwechsel...

    @letzte 2 wörter: ???????????????????????????????

    am besten postest du mal den ganzen quellcode

  8. #8
    Registrierter Benutzer
    Registriert seit
    24.06.2003
    Beiträge
    486
    Original geschrieben von Berufspenner

    Edit: Strings enthalten doch auch wie CharArrays ein Terminierung ('\0' )?!
    std::string?Nein müßen sie nach Standard nicht,aber ich kenne keine std::string Implementierung,die intern nicht mit Nullterminierten char-Arrays arbeitet.
    Aber man sollte sich nicht darauf verlassen,genauso wie man sich nicht darauf verlassen sollte,daß der unterliegende Speicher von std::string durchgängig ist.

  9. #9
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Original geschrieben von wraith
    std::string?Nein müßen sie nach Standard nicht,aber ich kenne keine std::string Implementierung,die intern nicht mit Nullterminierten char-Arrays arbeitet.
    Aber man sollte sich nicht darauf verlassen,genauso wie man sich nicht darauf verlassen sollte,daß der unterliegende Speicher von std::string durchgängig ist.
    im zweifelsfall kann man ja auf string.c_str() zurückgreifen - da kriegt man definitiv ein NULL-Byte am ende...

  10. #10
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von wraith
    std::string?Nein müßen sie nach Standard nicht,aber ich kenne keine std::string Implementierung,die intern nicht mit Nullterminierten char-Arrays arbeitet.
    Aber man sollte sich nicht darauf verlassen,genauso wie man sich nicht darauf verlassen sollte,daß der unterliegende Speicher von std::string durchgängig ist.
    Das letzte Zeichen auf das man von außen Zugriff hat (length()-1) ist sicher nicht das \0 das möglicherweise in der internen Implementation benutzt wird.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  11. #11
    Registrierter Benutzer
    Registriert seit
    25.11.2002
    Beiträge
    61
    also ich habe mir jetzt eine funk geschrieben die den String ohne Zeilenwechsel ausgibt. Ich uebberpruefe einfach jeden einzelnen charakter und gebe ihn aus wenn er nicht das stringende ist (10).soweit ich weiss ist die 10 das ende zeichen.
    Und das funktioniert jetzt auch.(alles muss man selber machen)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •