【发布时间】:2020-04-02 15:30:04
【问题描述】:
我需要从我的 char 数组中提取数字,它以 hh:mm 格式存储值(例如 20:20) 我尝试使用 sscanf 函数将 hh 提取到小时变量和 mm 到分钟变量。 它工作得很好,直到时间类似于 0number:0number 或者它是 00:00 ..它只返回没有 0 或只有一个 0 的数字。当它读取第一个 0 时,它是否有可能将其视为某事否则,不是数组值的一部分?感谢您的任何回答。
char time[15]; ///where I store the time value
Serial.println(time); //prints nicely something like 02:02
int hour;
int minute;
sscanf(incas,"%02d:%02d",&hour,&minute);
Serial.println(hour); ///prints 2
Serial.println(minute); ///prints 2
【问题讨论】:
-
您正在读取一个整数,没有 01 这样的数字,它是 1。问题在于您的打印,因为您打印数字并希望打印 01 而不是 1。:)跨度>
-
哦,好的,谢谢你,我真的没有这样想,这是有道理的:D
标签: c++ scanf arduino-ide