Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Validar que string no sea vacio

Estas en el tema de Validar que string no sea vacio en el foro de C/C++ en Foros del Web. Hola, mi duda es sobre el siguiente problema: Tengo que ingrear un nombre y que no sea vacio. Solo puedo usar scanf o getchar. Probe ...
  #1 (permalink)  
Antiguo 25/06/2012, 20:37
 
Fecha de Ingreso: junio-2012
Mensajes: 19
Antigüedad: 11 años, 10 meses
Puntos: 1
Validar que string no sea vacio

Hola, mi duda es sobre el siguiente problema:

Tengo que ingrear un nombre y que no sea vacio. Solo puedo usar scanf o getchar. Probe varias opciones pero al dar enter solo pasa a la siguiente linea. El scanf no lee el enter solo si escribo algo al principio.

Un ejemplo de lo que probe:

Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. char nombre[30];
  5.  
  6. int main()
  7. {
  8.     printf( "Ingrese el nombre: ");
  9.     scanf ("%s",nombre);    
  10.    
  11.     if (strcmp (nombre,"\n")) //aca tambien probe con '\n'
  12.     {
  13.         printf ("El nombre es vacio");
  14.     }      
  15.        
  16.     return 0;
  17. }

Tal vez me este equivocando en algo, o no conozco alguna funcion que me facilite la tarea.
  #2 (permalink)  
Antiguo 25/06/2012, 20:49
Avatar de walote  
Fecha de Ingreso: junio-2012
Ubicación: Argentina
Mensajes: 5
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Validar que string no sea vacio

if(nombre.IsEmpty())
{
return FALSE; //el campo esta vacio
}
else
{
return TRUE; //el campo nombre contiene una cadena
}

ó

return nombre.IsEmpty(); devuelve TRUE ó FALSE dependiendo del resultado
  #3 (permalink)  
Antiguo 25/06/2012, 22:42
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Validar que string no sea vacio

Hola! con getchar podes generar un bucle para ingresar cadenas, ej:
Código C:
Ver original
  1. while((c=getchar())!='\n') {  }
cada ingreso tiene que almacenarse en el arreglo, fijate como lo resolves.. Acordate de agregar al final del arreglo '\0'


Saludos
  #4 (permalink)  
Antiguo 26/06/2012, 09:39
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años
Puntos: 28
Respuesta: Validar que string no sea vacio

prueba esto, si no te sirve me vuelves a escribir

#include <stdio.h>
#include <string.h>
#include <iostream>

char nombre[30];

int main()
{
printf( "Ingrese el nombre: ");
scanf ("%s", nombre);

if ( strlen(nombre)==0) //aca tambien probe con '\n'
{
printf ("El nombre es vacio");
}
system("pause");
}

s2 crono
  #5 (permalink)  
Antiguo 26/06/2012, 09:45
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años
Puntos: 28
Respuesta: Validar que string no sea vacio

o si te sucede que con enter tambien debes decir no vacio, usa en vez de scanf ("%s", nombre); usa gets(nombre), da enter y veras...

s2
crono

Etiquetas: string, validar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:20.