次のコードスニペットがあります。
char s[] = "2012-06-01-02";
int nYear;
int nMonth;
int nDay;
int nPass
sscanf(s, "%d-%d%-%d-%d", &nYear, &nMonth, &nDay, &nPass);
このコードはVisualStudioを使用すると期待どおりに機能しますが、gccを使用すると次のコンパイル警告が表示されます
warning: unknown conversion type character '-' in format
次に、コードを実行すると、nYear、nMonthの期待値が得られますが、nDayとnPassは両方とも0です。
なぜこれが機能しないのですか?