Funkcja strlen() nie liczy spacji, tablice

Funkcja strlen() nie liczy spacji, tablice
J1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 30
0

Witam,
mam pytanie. Funkcja Strlen() liczy znaki, ale jak pojawi sie spacja to nie liczy dalej np. zdanie "woda jest dobra" wyświetla 4, wie ktoś jak zrobić aby liczyło wszystkie ? I czy da się zamienić ostatni znak pierwszym przedostatni drugim itd. i porównać czy tablica jest symetryczna ( np. uzytkownik wprowadza 12 21 - po odwróceniu jest 12 21 czyli to samo) ?

Z góry dziękuję za pomoc.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
3

strlen() liczy spacje bardzo dobrze, to cin>>napis wczytuje ci słowo a nie cały wiersz.

J1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 30
0

używam funkcji scanf("%s",tab);

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

scanf("%s" - też wczytuje słowo.

P0
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 22
1

Zrób tak:

Kopiuj
std::getline(std::cin, napis);
J1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 30
0

char tab[1000];
scanf("%999[^\n]", tab);
printf("%i\n",strlen(tab));
system("pause");

mam tak i dziala dzieki : ). co oznacz ten zapis "%999[^\n]" ?

i czy jak mam tablice 1000 znakow, ale chciałbym zrobić odbicie (pierwszy element zamienić z ostatnim, drugi z przedostatnim idt ) tylko tej części która jest zapełniona to muszę zrobić nową tablice o ilości znaków tyle ile użytkownik wprowadził ? i jest jakas funkjca czy musze pisać np ( tab[1]=tab2[20], tab[2]=tab2[19])

J1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 30
0

Dzięki : ), można zamknąć.

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.