Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dodatkowe, niechciane znaki w tablicy char.

Ostatnio zmodyfikowano 2014-12-30 19:41
Autor Wiadomość
ktos-tam
Temat założony przez niniejszego użytkownika
Dodatkowe, niechciane znaki w tablicy char.
» 2014-12-30 19:28:52
Krótkie pytanie - skąd biorą się te trzy ostatnie znaki?

Uproszczony kod:
C/C++
std::string wiersz = "1234";
char wierszChar[ wiersz.size() ];

std::cout << "rozmiar: " << wiersz.size() << std::endl;

const char * wierszCChar;
wierszCChar = wiersz.c_str();

std::cout << wierszCChar << std::endl;

short znakWiersza = 0;
while( wierszCChar[ znakWiersza ] )
{
    wierszChar[ znakWiersza ] = wierszCChar[ znakWiersza ];
    std::cout << wierszCChar[ znakWiersza ] << std::endl;
   
    znakWiersza++;
}

std::cout << wierszChar << std::endl;

Screen z konsoli:
http://screenshooter.net​/100300258/dqdkqpe
P-123685
1aam2am1
» 2014-12-30 19:33:35
1. Tak się nie tworzy dynamicznej tablicy.
2. cstring musi być zakończony NULL-em (0)
3. cstring jest wyświetlany aż do tego znaku
P-123686
ktos-tam
Temat założony przez niniejszego użytkownika
» 2014-12-30 19:41:18
Tablica nie miała być dynamiczna. Zrobiłem sobie dłuższą przerwę od C++ i zapomniało mi się o NULL'u.
Dzięki.

//Edit:
Jeszcze jedno małe pytanko. Jak dodać \0 na końcu?

//Edit:
Dobra, wywaliłem wierszCChar i użyłem strcpy().
P-123691
« 1 »
  Strona 1 z 1