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

Cadena de char?

Estas en el tema de Cadena de char? en el foro de C/C++ en Foros del Web. hola es la primera ves q ando por aca ... ando buscando informacion recien empieso con la carrera y entiendo poco... el tema es suuupppeerr ...
  #1 (permalink)  
Antiguo 07/05/2009, 21:25
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años, 6 meses
Puntos: 0
Cadena de char?

hola es la primera ves q ando por aca ... ando buscando informacion recien empieso con la carrera y entiendo poco... el tema es suuupppeerr facil tengo un ejercicio en el que tengo q ingresar por ejemplo... el Nombre y apellido, por teclado... y depsues lo tengo q ver cuando termina el programa me devuelva una serie de datos... y ese es no... ahora bien l oq yo hago es:

{
char n;
printf("Nombre y Apellido: ");
fflush(stdin);
scanf("%c",n);

// hasta aca todo bien... pero cuando pongo el printf para q me muestre la cadena de char nose q hacer... (se q no es %c) pero cuando pongo %s se me cierra el programa//

printf("/t Nombre: %c", n);

getch();
}

eso es lo que yo quiero hacer aver si alguien me ayuda.. es facil ^^ se q no pido nada raro.. gracias saludos
  #2 (permalink)  
Antiguo 08/05/2009, 01:45
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Respuesta: Cadena de char?

No hay ninguna cadena en tu programa, n es un caracter unicamente y con %c se imprime correctamente (no uses nunca fflush con flujos de entrada como stdin, usa Google). Si queres una cadena tenes que usar un conjunto de (array o memoria dinamica) de caracteres. Por ejemplo:

Código:
char na[80];
fgets(na, sizeof(na), stdin);
printf("%s\r\n", na);
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 08/05/2009, 11:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Cadena de char?

Si recien recien empiezas, te va a ser más facil usar cout y cin en vez de printf y scanf..

typedef char str30[31]; //definis un tipo str30 para Nombre y Apellido

void main () {
str30 NyAp;
cout << "Ingrese su nombre y Apellido";
cin >> NyAp;
cout << "Su nombre y apellido es: " << NyAp << endl;
getch();
}
  #4 (permalink)  
Antiguo 08/05/2009, 13:33
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Respuesta: Cadena de char?

Dos cosas, es solo para C++ y es muy inseguro de esa manera, si escribis 31 caracteres ya tenes un problema de buffer overflow ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 08/05/2009, 22:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Cadena de char?

:) muchas gracias me andubo de 10... xD soy alto programador jr. ya jajajjaja maniana tengo examen give me lucky plz :D saludos a todos
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 13:50.