gpt4 book ai didi

c++ - sscanf()的问题不会读取char数组中的每个0

转载 作者:行者123 更新时间:2023-12-02 10:19:06 26 4
gpt4 key购买 nike

我需要从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

最佳答案

int不知道前导零。 0000000000000123 == 123。如果您想要前导零,则必须自行格式化。

hourminute转换回char数组的示例:

char out[15];
sprintf(out, "%02d:%02d", hour, minute);
Serial.println(out);

关于c++ - sscanf()的问题不会读取char数组中的每个0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60995240/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com