Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

11.05.2008, 11:47

Listing 5.3 Nullterminierung

Hallo,

ich nutze Eclipse mit g++ als Compiler unter Ubuntu.

Die Nullterminierung ist dort "entgültig". Auch mit einer for Schleife hört er bei der Nullterminierung auf und schneidet den Teil dahinter ab.
Mit Anjuta klappt alles...(gleicher Compiler).

Warum ist das so? *kopfkratz*

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

11.05.2008, 11:54

vielleicht erklärst du mal mit einem kleinen codeausschnitt was genau du meinst ;)

3

11.05.2008, 12:00

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
// Variablen

        char Zeichenfolge3[20] = "Teil 1\0Teil 2";

    // Ausgabe der Strings

    cout << Zeichenfolge3 << endl;


    for (int i=0; i<20; i++)
        cout << Zeichenfolge3[i];


Das meine ich :-)
Durch die for Schleife sollte die Nullterminierung doch quasi übergangen werden?

PS: Also unter Anjuta ist die Ausgabe für das zweite cout: "Teil 1Teil2".
Unter Eclipse nur "Teil 1".

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

11.05.2008, 12:03

naja, du gibst mit der for schleife halt alle zeichen aus. Auch die Null...
könnte z.b. auch an der konsole liegen, dass die nur bis zum '\0' ausgibt.
leite den output mal in eine datei und schaus dir dort an ;)

5

11.05.2008, 12:19

Der Output hängt von der IDE ab, die ich nutze.
Entweder steht in der Datei dann (von eclipse erzeugt:)
"Teil 1"
*Teil 1"

Anjuta:
"Teil 1"
"Teil 1Teil 2"

Also fürchte das bringt mich auch nur zum Ursprungsproblem zurück.
Die eclipse console :-)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

11.05.2008, 12:21

dann liegts vermutlich an der eclipse konsole. in der "normalen" konsole geben beide programme das gleiche aus!?

7

11.05.2008, 12:26

Ja dann passiert genau das erwartete.

Seltsam...wüsste gerne, warum die eclipse console da rumzickt...

Werbeanzeige