Funkcja tolower.

0

Witam

Mam do zrobienia małe zadanie, w którym jest wczytywany łańcuch znaków, a następnie sprawdzane jest czy są tam duże litery i te są zmieniane na małe.

int main(){

char tab[100];

printf("Wczytaj lancuch znakow;\n");
scanf("%s", &tab);

printf("Oto podany przez ciebie lancuch; %s\n", tab);

int i=0;
while(tab[i]!='\0'){
	tolower(tab[i]);
	i++;
}

printf("%s", tab);

	}

No proste to jest, ale co mi tu nie działa? Bo wcale nie zmienia mi liter dużych na małe. W tym języku to czasami można zgłupieć na najprostszych rzeczach.

Z góry dziękuję za pomoc.

Pozdrawiam.

0

W tym (i każdym innym) języku trzeba umieć czytać dokumentacje...
http://www.cplusplus.com/reference/cctype/tolower/
Zauważ ze tolower NIE ZMIENIA argumentu tylko ZWRACA małe litery...

0

patrzcie na jego tagi... :D

0

Ok, to jest ciekawa uwaga. To jak to zrobić żeby zmieniało na małe litery?

0

To jak to zrobić żeby zmieniało na małe litery?

Ten kod zamienia na małe litery.
Inna sprawa, że nie zapisuje wyniku.

0

najprościej będzie w ogóle bez użycia funckji tylko po prostu od literki dużej dodaj 'a' - 'A'
Takie coś powinno zadziałać

char z = 'K';
printf("%c", z + ('a' - 'A'));
0
#include <stdio.h>
#include <ctype.h>
int main(){
	 
	char tab[100];
	 
	printf("Wczytaj lancuch znakow;\n");
	scanf("%99s", tab);
	 
	printf("Oto podany przez ciebie lancuch; %s\n", tab);
	 
	int i=0;
	while(tab[i]!='\0'){
		tab[i]=tolower(tab[i]);
		i++;
	}
	 
	printf("%s", tab);
	return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1