fgets doesn't wait for the keyboard input

前端 未结 2 1578
故里飘歌
故里飘歌 2021-01-22 05:52

I want to read two strings from ther user\'s keyboard input, this is the code I tried :

char nomFichier[50], emp[100], empEtNomFichier[150];
printf(\"\\nDonner l         


        
2条回答
  •  孤独总比滥情好
    2021-01-22 06:12

    Try:

    char nomFichier[50], emp[100], empEtNomFichier[150];
    printf("\nDonner le nom du fichier : ");
    fflush(stdout);
    fgets(nomFichier, sizeof nomFichier, stdin);
    printf("\nDonner l'emplacement du fichier : ");
    fflush(stdout);
    fgets(emp, sizeof emp, stdin)
    sprintf(empEtNomFichier, "%s/%s", emp, nomFichier);
    

    stdout is line buffered so it will not output without a \n character - try fflush();

    Or try:

    char buf[256]={0x0};
    setvbuf(stdout, buf, _IONBF, 256);
    

提交回复
热议问题