Wielkość tablicy char - błąd strlen

Wielkość tablicy char - błąd strlen

Wątek przeniesiony 2014-02-28 16:56 z C/C++ przez ŁF.

verijon
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Witam, próbuję zrobić program pobierający wielkość tablicy char, mam taki kod:

Kopiuj
#include <cstring>
#include <string.h>
#include <iostream>

using namespace std;

int main()
{
	char znaki[] = { 'T', 'A', 'S', 'E', 'O', 'K' };
	int wielkosc = strlen(znaki);
	cout << wielkosc;
	cin.get();
	return 0;
}
 

Wypisuje 19, w czym jest problem?

n0name_l
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2412
4

Nie ma \0 na koncu.

verijon
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Wielkie dzięki, działa :)

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
2

Można jeszcze tak:
char znaki[] = "TASEOK"; - znak \0 już jest dodany.
lub deklaracja jak u ciebie zaś int wielkosc = sizeof(znaki);

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.