Hi all,
I'm trying to use fgets in a program so that my structure members can store spaces however when the program is run it prints my printf output then automatically inputs a blank string and skips to the following printf output.
In example:So what's going on?Code:int appointment(void) { #define DATE_LEN 4 #define START_LEN 2 #define FINISH_LEN 2 #define TITLE_LEN 20 #define PLACE_LEN 30 #define MEET_LEN 30 #define FILE_NAME "E:\\appointment.txt" FILE *fp1; fp1 = fopen(FILE_NAME, "a"); if (fp1 == NULL) { printf("Can't open %s\n", FILE_NAME); exit(EXIT_FAILURE); } struct appointment { char date[DATE_LEN + 1]; char start_time[START_LEN + 1]; char finish_time[FINISH_LEN + 1]; char title[TITLE_LEN + 1]; char place[PLACE_LEN + 1]; char meet[MEET_LEN + 1]; } appointment; printf("\nAppointment date (ddmm): "); fgets(appointment.date, sizeof(appointment.date), stdin); printf("\n00 = 09:00, 01 = 09:30, 16 = 16:30\nAppointment start: "); fgets(appointment.start_time, sizeof(appointment.start_time), stdin); printf("\n1 = 09:30, 02 = 10:00, 17 = 17:00\nAppointment end: "); fgets(appointment.finish_time, sizeof(appointment.finish_time), stdin); printf("\nAppointment name: "); fgets(appointment.title, sizeof(appointment.title), stdin); printf("\nAppointment venue: "); fgets(appointment.place, sizeof(appointment.place), stdin); printf("\nAppointment with: "); fgets(appointment.meet, sizeof(appointment.meet), stdin); fprintf(fp1, "%s\n%s\n%s\n%s\n\n", appointment.date, appointment.start_time, appointment.finish_time, appointment.title, appointment.place, appointment.meet); fclose(fp1);