Underc0de

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
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
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
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
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
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
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