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);
}
Fíjate si te sirve:
https://elrincondelc.com/foros/viewtopic.php?t=17368 (https://elrincondelc.com/foros/viewtopic.php?t=17368)
Saludos Frijolito
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
Probá:
fgets(frase, sizeof(frase), stdin);
Saludos,
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
Podrías poner antes del ingreso fflush(stdin); pero no se si es lo más recomendado.
Saludos,
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