ho bisogno di convertire i caratteri maiuscoli di una strina, in caratteri minuscoli
navigando qua e la mi sono accorto dell'esistenza della funzione "strlwr", ma da quello che ho capito non è nello standard c, infatti , se usata, mi dava errore (il compilare norn riusciva a trovarla)
per cui ho deciso di costruine una io (se c'è un metodo per usare quella predefinita fatemelo sapere), consultando pagine web che, praticamente, la riportavano già fatta
Codice: Seleziona tutto
#include <stdio.h>
#include <string.h>
#include <ctype.h>
char * strlwr2 (char *a)
{
char *ret = a;
while (*a != '\0'){
if (isupper (*a)){
printf("lettera da convertire %c\n", *a); //stampa esattamente la lettera che voglio
*a = tolower ((unsigned char)*a); //qui la segmentation fault
}
++a;
}
return ret;
}
int main()
{
char * pippo;
pippo ="cIaO";
printf("stringa %s\n", pippo);
pippo=strlwr2(pippo);
printf("stringa %s\n", pippo);
}Segmentation fault (core dumped)
nella riga commentata sopra....
come posso risolvere il mio problema?? grazie

