1
그래서 sscanf() 함수가 실제로 이상하게 작동하는 것을 발견했습니다. 나는 날짜의 특정 문자열을 구문 분석하는 다음과 같은 코드가 있습니다sscanf()의 일관성없는 동작
#include <stdio.h>
int main()
{
int year, month, day;
sscanf("20151106","%4i%2i%2i",&year,&month,&day);
printf("Year: %04i\tMonth: %02i\tDay: %02i\n",year,month,day);
sscanf("20151107","%4i%2i%2i",&year,&month,&day);
printf("Year: %04i\tMonth: %02i\tDay: %02i\n",year,month,day);
sscanf("20151108","%4i%2i%2i",&year,&month,&day);
printf("Year: %04i\tMonth: %02i\tDay: %02i\n",year,month,day);
sscanf("20151109","%4i%2i%2i",&year,&month,&day);
printf("Year: %04i\tMonth: %02i\tDay: %02i\n",year,month,day);
sscanf("20151110","%4i%2i%2i",&year,&month,&day);
printf("Year: %04i\tMonth: %02i\tDay: %02i\n",year,month,day);
sscanf("20151111","%4i%2i%2i",&year,&month,&day);
printf("Year: %04i\tMonth: %02i\tDay: %02i\n",year,month,day);
return 0;
}
을 그리고 출력은 다음과 같다 :
Year: 2015 Month: 11 Day: 06
Year: 2015 Month: 11 Day: 07
Year: 2015 Month: 11 Day: 00
Year: 2015 Month: 11 Day: 00
Year: 2015 Month: 11 Day: 10
Year: 2015 Month: 11 Day: 11
왜 sscanf에서()가 잘못 08. 및 09. 일 분석 하는가?
미리 감사드립니다. 당신이 "나는"사용 "D"하지 않을 때문이다
르그
너무 감사합니다, 저에게 많은 도움이! –