我如何忽略C语言中的其余输入?

问题描述 投票:0回答:1

我正在制作一个程序,需要接收以下输入:

{{Time1 Time2 Appointment} as {hour1:minute1 hour2:minute2 Appointment}

“约会”是一个无用的字符串输入,我想忽略它

scanf("%d:%d %d:%d",&hour1,&minute1,&hour2,&minute2);

我可以获取小时和分钟,但是在那之后我不能再次使用“ scanf”,我该如何忽略“ Apointpointment”输入?

c scanf ignore
1个回答
0
投票

您可以执行%* s的操作,也可以在第一次scanf之后使用输入缓冲区。像这样的东西:

int minute1 = 0, hour1 = 0, minute2 = 0, hour2 = 0;
char *buffer = malloc(sizeof(char));

scanf("%d:%d %d:%d %[^\n]s",&hour1, &minute1 ,&hour2 ,&minute2, buffer);
free(buffer);
printf("%d:%d %d:%d\n", hour1, minute1, hour2, minute2);
© www.soinside.com 2019 - 2024. All rights reserved.