小编Fek*_*enc的帖子

sscanf c ++将字符串拆分为int有时不起作用

我正在编写一个程序,将日期字符串转换为三个单独的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;
Run Code Online (Sandbox Code Playgroud)

如果我转换2011-03-08或2011-03-09,那一天将是0,但对于2011-03-07,06,......那天是7,6,......正如我所料.有人可以解释一下,为什么它不适用于08或09而且只适用于它们?

先感谢您!

c++ string int split scanf

4
推荐指数
1
解决办法
833
查看次数

标签 统计

c++ ×1

int ×1

scanf ×1

split ×1

string ×1