elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Novato: funcion tolower y toupper. Ayuda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Novato: funcion tolower y toupper. Ayuda  (Leído 7,142 veces)
.-Gaston-.

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Novato: funcion tolower y toupper. Ayuda
« en: 29 Junio 2005, 00:01 am »

Que tal. Bueno, aunque vengo hace rato con el tema de la programacion, he estadop estudiando C y me encontré con una dudilla. Estoy con C en Linux.
En el turorial que estoy leyendo dice que no puedo hacer:
char texto[20];
texto = "gaston";
O sea, no puedo declarar la variable y despues asignarle un valor. Pero si puedo hacer ésto:
char texto[20];
scanf("%s",texto);
Ahora mis preguntas son dos:
1.-Si yo declaro la variable y no le doy un valor, ¿como se lo doy despues?
2.-Si el valor lo obtengo leyendolo con scanf (lo que ingresa un usuario), ¿como lo paso a mayusculas o a minusculas?Porque probé la funcion toupper y tolower, pero al resultado tengo que guardarlo en una variable, que es el caso que expuse mas arriba.
Espero haberme podido expresar bien.
Saludos y gracias de antemano.
Gaston


En línea

Juan_Perez

Desconectado Desconectado

Mensajes: 148


Ver Perfil
Re: Novato: funcion tolower y toupper. Ayuda
« Respuesta #1 en: 29 Junio 2005, 00:41 am »

Cuando declaras una variable de esta manera
Código:
char texto[20];
estás declarando un arreglo de 20 caracteres y no le puedes asignar un valor directamente con el signo =. Si quieres asignarle la cadena "gaston" a este arreglo lo puedes hacer de varias maneras. Una es usando el signo = al momento de declarar el arreglo, de esta manera
Código:
char texto[20] = "gaston";
el compilador es quien se encarga de que el arreglo texto se inicialice con la cadena "gaston". Otra manera es usando la función strcpy declarada en el encabezado <string.h>, el cual copia una cadena en otra. así
Código:
strcpy (texto, "gaston");
Otra manera es usando la función sprintf declarada en el encabezado <stdio.h>, que hace lo mismo que la función printf, pero en vez de formatear la salida a la pantalla, la manda a una cadena. Lo harías de esta forma
Código:
sprintf (texto, "%s", "gaston");
Otra forma es asignarle directamente cada letra que compone la cadena "gaston" al arreglo texto así
Código:
texto[0] = 'g';
texto[1] = 'a';
texto[2] = 's';
texto[3] = 't';
texto[4] = 'o';
texto[5] = 'n';
texto[6] = '\0';
el último caracter es el caracter nulo, y es necesario ponérselo al final ya que las cadenas en C no tienen indicación del tamaño de cada arreglo como lo hacen otros lenguajes.


En línea

Juan_Perez

Desconectado Desconectado

Mensajes: 148


Ver Perfil
Re: Novato: funcion tolower y toupper. Ayuda
« Respuesta #2 en: 29 Junio 2005, 00:46 am »

Discúlpame, me faltó contestarte la segunda pregunta. Para pasar una cadena a mayúsculas o minúsculas tienes que usar la función toupper o la función tolower respectivamente a cada uno de los elementos del arreglo. Estas funciones vienen declaradas en el encabezado <ctype.h>. Para las mayúsculas lo podrías hacer así
Código:
int i;
for (i = 0; texto[i] != '\0'; i++)
   texto[i] = toupper (texto[i]);
y para las minúsculas igualmente pero usando la otra función.
En línea

.-Gaston-.

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Novato: funcion tolower y toupper. Ayuda
« Respuesta #3 en: 29 Junio 2005, 03:50 am »

Ok. Muchisimas gracias. Quedó todo mas que claro.
Saludos.
Gaston.
En línea

PerviousNebula

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Novato: funcion tolower y toupper. Ayuda
« Respuesta #4 en: 28 Diciembre 2013, 10:07 am »

Oye me podrias explicar detalladamente como funciona el proceso del for con la funcion toupper por favor  :)
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Novato: funcion tolower y toupper. Ayuda
« Respuesta #5 en: 28 Diciembre 2013, 10:20 am »

Oye me podrias explicar detalladamente como funciona el proceso del for con la funcion toupper por favor  :)

Código:
int i;
for (i = 0; texto[i]; i++)
   texto[i] = toupper (texto[i]);
texto[i] ='\0`;

Sencillamente va recorriendo la cadena texto desde el primer caracter, texto[0] hasta el final de la cadena y en cada pasada transforma el caracter a su forma en mayúsculas.

;-)  ;-) Felices Navidades y Próspero Año Nuevo.  ;-)  ;-)

¡¡¡¡ Saluditos! ..... !!!!



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA funcionamiento de toupper y tolower C++
Programación C/C++
cesarjgrd.18 5 12,863 Último mensaje 6 Noviembre 2011, 17:12 pm
por cesarjgrd.18
Ayuda tolower & overwrite c++
Programación C/C++
novatus84 1 1,974 Último mensaje 3 Diciembre 2014, 11:56 am
por avesudra
problema con dll's en windows 8.1 pro y error en vinculación toupper
Programación C/C++
Belial & Grimoire 0 1,771 Último mensaje 5 Marzo 2016, 19:26 pm
por Belial & Grimoire
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines