Kezdőoldal » Számítástechnika » Programozás » A c++ fajta karakterláncoknál...

A c++ fajta karakterláncoknál automatikusan bekerül a sor végére a '\0' karakter?

Figyelt kérdés

Például ebben az esetben be kerül:

char stringArray[10];

std::cin.get(stringArray,10); //amikor bele kerül a szöveg a stringArrayba akkor itt automatikusan a végére fogja tenni ezt: '\0' ?


És ebben az esetben:

char stringArray2[5] = "Fehér"; //És itt a végére fogja tenni?


2012. jún. 8. 11:32
 1/6 anonim ***** válasza:
Igen, mindkét esetben odakerül.
2012. jún. 8. 12:43
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:

Első vagyok.

A 2. eset viszont érdekes, mert 5 elemű tömböt deklaráltál, de ahhoz, hogy a "Fehér" szót beletedd, 6 elemre van szükség, pont a lezáró '\0' karakter miatt. Úgyhogy az ott így biztosan nem stimmel, de egyébként odateszi a '\0'-t a végére, ha minden rendben van amúgy. Így vagy hibaüzenet, vagy valami más lesz, ezt nem tudom.

2012. jún. 8. 12:45
Hasznos számodra ez a válasz?
 3/6 iostream ***** válasza:

Az első verzió az korrekt: [link]

n-1 karaktert olvas, és lezárja.

A második az hibás, ugyanis a "abc" literál ezzel egyenértékű: {'a', 'b', 'c', '\0'}

A fordító nem nyervákol neked? Mert akkor cserélj fordítót.

2012. jún. 8. 13:39
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
A C++ fordítók nem követik a túlindexelést. Odakerül a \0, aztán majd rejtélyes hibák bukkannak fel néha.
2012. jún. 8. 15:32
Hasznos számodra ez a válasz?
 5/6 iostream ***** válasza:
26%

"initializer-string for array of chars is too long"


Csak a te kedvedért kipróbáltam. Ahogy sejtettem, compiler error. Ugyanez inttömbbel:

int array[3] = {1, 2, 3, 4};

2012. jún. 8. 16:13
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Kösz,hogy kipróbáltad adtam egy zöld kezet.
2012. jún. 8. 16:26

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!