c++ - sscanf() 的问题不会读取 char 数组中的每个 0
问题描述
我需要从我的 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
解决方案
问题不在于您的呼叫,sscanf
而在于 to println
。尝试这个:
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);
char strBuf[3];
sprintf(strBuf, "%02d", hour);//hour is an int, so you need to pad with leading 0's
Serial.println(strBuf); ///prints 2
sprintf(strBuf, "%02d", minute);
Serial.println(strBuf); ///prints 2
推荐阅读
- kubernetes - Kubernetes:pod“kube-dns-86f4d74b45-whjqd”中的容器“kubedns”正在等待启动:尝试提取图像但失败
- javascript - Typescript数组推送方法无法捕获数组的元组类型
- php - 如何从symfony的公共文件夹中下载pdf文件
- c++ - 如何在 Visual Studio Code 中创建自定义项目模板
- latex - 在 LaTex 中结合 longtable、booktabs 和 xcolor,布局问题
- c - 如何访问可变参数打印函数的变量值?
- java - 如何使用 ENUM 列出角色?
- python - 将列表与 numpy 浮点数与常规浮点数进行比较
- python - df.groupby(.pdGrouper(freq='D') ).idxmax 抛出 ValueError
- html - SASS 网格重复出现在屏幕外