如何将char*中的字符提出来用于其他操作??arduino中 - 爱问答

(爱问答)

如何将char*中的字符提出来用于其他操作??arduino中

附一段有问题的代码,想要将DS1302的时分秒分别拿出来但是失败了

void print_time()

{

    /* 从 DS1302 获取当前时间 */

    Time t = rtc.time();

    /* 将星期从数字转换为名称 */

    memset(day, 0, sizeof(day));

    switch (t.day)

    {

    case 1: strcpy(day, "Sunday"); break;

    case 2: strcpy(day, "Monday"); break;

    case 3: strcpy(day, "Tuesday"); break;

    case 4: strcpy(day, "Wednesday"); break;

    case 5: strcpy(day, "Thursday"); break;

    case 6: strcpy(day, "Friday"); break;

    case 7: strcpy(day, "Saturday"); break;

    }

    /* 将日期代码格式化凑成buf等待输出 */

    char* i=buf;

    Serial.println(i);

    snprintf(buf, sizeof(buf), "%s %04d-%02d-%02d %02d:%02d:%02d", day, t.yr, t.mon, t.date, t.hr, t.min, t.sec);

    /* 输出日期到串口 */

    Serial.println(buf);

    int hour=t.hr;

    int minute=t.min;

    int second=t.sec;

}


从这段程序分析,看一不出问题的

一。你的day的定义是什么,能否容下日期数据

二。你的buff定义是什么,初始化数据是什么?

你用

   char* i=buf;

   Serial.println(i);

输出的是buf初始值,用i变量没有意义的

三。你最终的

int hour=t.hr;

   int minute=t.min;

   int second=t.sec;

赋值也没有意义


编辑语言不同

下一篇:GMQ平台支持多语言么?

上一篇:联想IH61MV1.0主板怎么配置?

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?