Guardar string con espacios en C

  • 6 Respuestas
  • 3588 Vistas

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Frijolito

  • *
  • Underc0der
  • Mensajes: 81
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil

Guardar string con espacios en C

  • 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

Código: (c) [Seleccionar]
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);

}
« Última modificación: Octubre 31, 2018, 01:25:34 pm por Gabriela »

Desconectado Solid Water

  • *
  • Underc0der
  • Mensajes: 146
  • Actividad:
    3.33%
  • Country: 00
  • Reputación 6
  • (:{
    • Ver Perfil

Re:Guardar string con espacios en C

  • en: Octubre 31, 2018, 12:58:52 pm
Fíjate si te sirve:

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

Saludos Frijolito

Desconectado Frijolito

  • *
  • Underc0der
  • Mensajes: 81
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil

Re:Guardar string con espacios en C

  • en: Octubre 31, 2018, 01:05:46 pm
Fíjate si te sirve:

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

Desconectado Solid Water

  • *
  • Underc0der
  • Mensajes: 146
  • Actividad:
    3.33%
  • Country: 00
  • Reputación 6
  • (:{
    • Ver Perfil

Re:Guardar string con espacios en C

  • en: Octubre 31, 2018, 02:27:10 pm
Probá:

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

Saludos,

Desconectado Frijolito

  • *
  • Underc0der
  • Mensajes: 81
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil

Re:Guardar string con espacios en C

  • en: Octubre 31, 2018, 06:02:31 pm
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

Desconectado Solid Water

  • *
  • Underc0der
  • Mensajes: 146
  • Actividad:
    3.33%
  • Country: 00
  • Reputación 6
  • (:{
    • Ver Perfil

Re:Guardar string con espacios en C

  • 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,

Desconectado Frijolito

  • *
  • Underc0der
  • Mensajes: 81
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil

Re:Guardar string con espacios en C

  • en: Octubre 31, 2018, 07:27:36 pm
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