J'écris une fuction et j'ai un problème, la fonction scanf ne peut pas lire la barre d'espace "", comment puis-je le résoudre?Comment puis-je entrer une barre d'espace en entrée en utilisant scanf?
void add()
{
char choose2;
FILE *fp;
struct booking book;
system("cls");
fp=fopen("hotelbooking.txt","a");
if(fp == NULL)
{
printf("There are no data file!");
}
else
{
printf("Add New Hotel Booking Record(s)\n");
printf(" Name of Traveller: \n");
scanf("%s",book.travellername);
fprintf(fp,"\n%s",book.travellername);
printf(" Destination: ");
scanf("%s",book.destination);
fprintf(fp,"\n%s",book.destination);
fclose(fp);
}
}
Dans la partie nom_table, si je souhaite saisir par ex. "Jason George", Comment puis-je scanner la barre d'espace entre le nom?
J'utilise la structure ci-dessous:
struct booking
{
char travellername[20];
char destination[20];
}book;
Vous ne voulez qu'un saut de ligne (Retour ou Entrée) pour terminer l'entrée? – StoryTeller
J'ai essayé gets() mais il ne me laissera pas entrer dans anythings, il sautera simplement la ligne –
@StoryTeller Je veux quelque chose de similaire à scanf mais je peux entrer wors avec de l'espace par exemple. "The Pen" –