Duda de cadena de caracteres en C

Iniciado por Ixcal, 27 Septiembre 2012, 23:22 PM

0 Miembros y 1 Visitante están viendo este tema.

leosansan

Cita de: 0xDani en 28 Septiembre 2012, 20:30 PM
Reservas 80 bytes para nombre, y permites que se ingresen 100 caracteres con fgets().
LAS PRISAS SON MALAS CONSEJERAS.
#include <stdio.h>
#include<stdlib.h>
int main()
{
char *nombre;
nombre = (char *)malloc (100*sizeof(char));
char *saludo = "buenos dias";
printf("por favor ingrese su nombre \n");
    fgets (nombre, 100,stdin);
printf("%s %s",saludo,nombre);
return 0;
}

Espero ir más tranquilo para no pifiarla en esas tonterias.
Gracias y un saludo!

elkiy

pues pone esto:
#include <string>
using std::string;
using std::getline;

bueno despues de eso creas una variable, asi:

string miNombre;
después:
cout << "escribe tu nombre: ";
getline(cin, miNombre);
cout << endl;

Y listo. Para imprimir tu nombre:

cout << "bienvenido!! " << miNombre;

Ixcal

Gracias a todos por las respuestas, solo quería saber si era posible guardar una cadena de caracteres en C sin un arreglo. El código que realizé quedo algo como esto:

#include<stdio.h>

main()
{char nomap[80];
     
     printf("Por favor, ingresa tu nombre y tu apellido: ");
     gets(nomap);
     printf("\n Hola %s recibe un cordial saludo (^-^)",nomap);
     fflush(stdin);
     getchar();
     return 0;


Pero he estado leyendo por el foro que la función fflush no es conveniente usarla en los programas, entonces ¿Está mal que la use en mi código?. La uso con getchar(); para hacer una pausa porque en el DevC++ se cierra una vez que ingreso el nombre y apellido. Estuve viendo lo de usar fgets y sscanf pero es demasiado complicado para mi xD.

leosansan

Cita de: Ixcal en 28 Septiembre 2012, 22:28 PMhe estado leyendo por el foro que la función fflush no es conveniente usarla en los programas, entonces ¿Está mal que la use en mi código?.
En este caso está de más. Prueba a quitarla. Otra cosa sería si usaras scanf.