Underc0de - La Casa de los Informáticos

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Frijolito en Octubre 31, 2018, 12:53:54 PM

Título: Guardar string con espacios en C
Publicado por: Frijolito en Octubre 31, 2018, 12:53:54 PM
Hola tengo un problema que es muy simple, antes en C++ usaba el "cin.getline()" para guardar una string con espacios pero estoy haciendo un programa en C y no me guarda los espacios, quería ver si alguien me ayuda ya que creo que es bastante simple, gracias de antemano

void CifradoCersar(){

char frase[1024];
char *p=getenv("USER");

int lfrase;
int n;
int dif;

printf("\n [>>] Cual la frase que quieres cifrar \n");
printf("  %s~$: ",p);
scanf("%s", frase);

printf("\n [>>] Cuantos espacios se corraran los digitos? \n");
printf("  %s~$: ",p);
scanf("%d", &n);

dif = 26 - n;
lfrase = strlen(frase);
/* UBYN */

int i;
while (i == lfrase ){
if(frase[i] + n > 'z'){
frase[i] = frase[i] - dif;
}
else{
frase[i] = frase[i] + n;
}
i++;
}

printf("\n   [>>] La frase cifrada es  : ");
printf("%s", frase);
i = 0;

while (frase[i] != '\0'){
if(frase[i] - n < 'a'){
frase[i] = frase[i] + dif;
}
else{
frase[i] = frase[i] - n;
}
i++;
}

printf("\n   [>>] La frase original es : ");
printf("%s\n",frase);

}
Título: Re:Guardar string con espacios en C
Publicado por: Solid Water en Octubre 31, 2018, 12:58:52 PM
Fíjate si te sirve:

https://elrincondelc.com/foros/viewtopic.php?t=17368 (https://elrincondelc.com/foros/viewtopic.php?t=17368)

Saludos Frijolito
Título: Re:Guardar string con espacios en C
Publicado por: Frijolito en Octubre 31, 2018, 01:05:46 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Fíjate si te sirve:

https://elrincondelc.com/foros/viewtopic.php?t=17368 (https://elrincondelc.com/foros/viewtopic.php?t=17368)

Saludos Frijolito

No se si yo hice algo mal pero uso el "scanf("%1024[^\n]", frase)" se salta a la siguiente scanf que es cuando pregunta el ROT del cifrado

img: https://ibb.co/hCoSa0

Saludos
Título: Re:Guardar string con espacios en C
Publicado por: Solid Water en Octubre 31, 2018, 02:27:10 PM
Probá:

fgets(frase, sizeof(frase), stdin);

Saludos,
Título: Re:Guardar string con espacios en C
Publicado por: Frijolito en Octubre 31, 2018, 06:02:31 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Probá:

fgets(frase, sizeof(frase), stdin);

Saludos,

Sigue sin funcionar, aunque por lo que vi debería me parece erra me pasa lo mismo que antes que se salta esa petición y pasa a la siguiente, mandaría foto pero es lo mismo que lo de arriba
Título: Re:Guardar string con espacios en C
Publicado por: Solid Water en Octubre 31, 2018, 06:32:00 PM
Podrías poner antes del ingreso fflush(stdin); pero no se si es lo más recomendado.

Saludos,
Título: Re:Guardar string con espacios en C
Publicado por: Frijolito en Octubre 31, 2018, 07:27:36 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Podrías poner antes del ingreso fflush(stdin); pero no se si es lo más recomendado.

Saludos,

Tambien lo intente y no funciona no se que pasa yo creo que mejor lo programo en c++ que creo que sera mas facil