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

[C++] Wypisanie długosci zmiennej char

Ostatnio zmodyfikowano 2013-03-11 18:42
Autor Wiadomość
arti7
Temat założony przez niniejszego użytkownika
[C++] Wypisanie długosci zmiennej char
» 2013-03-11 18:00:05
Witam. Mam pytanie, jak wypisać dlugosc łańcucha znaków zmiennej char? length działa tylko pod string, a string nie działa dla mojej funkcji.
C/C++
cout << "Podaj dlugosc wyrazu" << endl;
cin >> dl;

cout << "Podaj ciag znakow" << endl;
for( i = 0; i < dl; i++ )
{
   
    cin >> a[ i ];
   
   
}

//koder
for( i = 0; i < dl; i++ )
{
    a[ i ] = a[ i ] + klucz;
   
}

cout << a << endl;
getch();

}
Chcialbym, by uzytkownik nie musial podawac dlugosci wyrazu (zmienna dl), tylko zeby petla konczyla sie wtedy, gdy przeleci po kolei wszystkie literki w wyrazie (i<"dlugosc wyrazu"). Mam nadzieje,ze nie namieszalem :S
P-78109
RazzorFlame
» 2013-03-11 18:41:42
Zainteresuj się funkcją strlen(...) :)
P-78115
unimator
» 2013-03-11 18:42:59
Ogólnie możesz wykorzystać fakt, że stringi typu C (czyli char*) są zakończone (a przynajmniej powinny być) specjalnym znakiem końca stringu (w C/C++ jest to takie coś: '\0'). O ile nie tworzysz własnych funkcji do operacji na stringach to możesz być spokojny, że te pobrane przez scanf/cin będą zakończone tym znakiem. Jak teraz sprawdzić długość stringa?
C/C++
int nIterator = 0;
char * sString;

//Tutaj pobieranie stringa od uzytkownika.

//Wczesniej mozna sie jeszcze upewnic czy aby sString nie wskazuje na NULL
//badz obszar niezaalokowany. Ja to pomijam.
while( sString[ nIterator ] != '\0' ) ++nIterator;

printf( "Dlugosc stringa wynosi: %i\n", nIterator );
P-78116
« 1 »
  Strona 1 z 1