有大佬知道这个函数是怎么实现的不,挺急的!!!

一头秀发的徐同学 2020-06-12 02:43:54
void string2date(string pdates,int d[]) { int k,by,bm,bd; while((pdates[k]<'0'||pdates[k]>'9')&&k<pdates.length()) k++; for( ;pdates[k]!='/'&&k<pdates.length();k++) by=by*10+pdates[k]-'0'; k++; bm=0; for( ;pdates[k]!='/'&&pdates.length();k++) bm=bm*10+pdates[k]-'0'; if(pdates[k]=='/') { k++; bd=0; for( ;k<pdates.length();k++) bd=bd*10+pdates[k]-'0'; } else bd=1; d[0]=by; d[1]=bm; d[2]=bd; } 挺急的,谢谢大佬
...全文
74 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2020-06-12
  • 打赏
  • 举报
回复
string str = "2019/1/24";
	int year, month, day;
	stringstream stream;
	char c;
	stream << str;
	stream >> year;
	stream >> c;
	stream >> month;
	stream >> c;
	stream >> day;
	cout << year << "/" << month << "/" << day << endl;
TyiTguoQ 2020-06-12
  • 打赏
  • 举报
回复
一个字符串,从左向右依次判定年月日,用/分开,判定之前先找到0-9的位置,然后就开始依次判定了,年,月分别存在by,bm中,然后判定有没有日,有的话继续判定,没有就默认为1
有个问题好像是变量没有初始化,写这个代码的这个家伙是个菜鸟。
qq_1457346882 2020-06-12
  • 打赏
  • 举报
回复
这不就是实现嘛?不过好像{}不太对

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧