日付文字列を 3 つの個別の int 変数 (年、月、日) に変換するプログラムを作成しています。
int m,d,y;
sscanf("2011-03-08","%i %*[-] %i %*[-] %i",&y,&m,&d);
cout << y<<" "<<m<<" "<<" "<<d<<std::endl;
sscanf("2011-03-07","%i %*[-] %i %*[-] %i",&y,&m,&d);
cout << y<<" "<<m<<" "<<" "<<d;
2011-03-08 または 2011-03-09 を変換すると、日は 0 になりますが、2011-03-07,06 の場合、日は 7,6 です... 期待どおりです。誰かがそれを説明できますか、なぜ08または09で機能せず、それらだけで機能しないのですか?
前もって感謝します!