大鼻子JOJO 2023-08-15 11:05 采纳率: 75%
浏览 8
已结题

C语言strncpy函数如何复制数组中指定数据到指定位置?

C语言strncpy函数如何复制数组中指定数据到指定位置?
这是目的位置

u16 syear=2023;
u8  smon=08;
u8  sday=15;
u8  hour=10;
u8  min=56;
u8  sec=20;

这是原位置,inputstrs是网口输入的数据

char inputstr[len1];

且网口输入的数据经过打印显示正确

img


其中RENEWTIME是关键字,读取到RENEWTIME后后面的位置是时间,代码如下:

     if(strncmp(str8,inputstr,9)==0)                      //这句的意思即为判断是否读取到关键字
       {
            if(WORKMODE==NONE)
            {
                strncpy((uint16_t*)syear,&inputstr[9],4);
                printf("syear=%d\r\n",syear);
                strncpy((uint8_t*)smon,&inputstr[13],2);
                printf("smon=%d\r\n",smon);
                strncpy((uint8_t*)sday,&inputstr[15],2);
                printf("sday=%d\r\n",sday);
                strncpy((uint8_t*)hour,&inputstr[17],2);
                printf("hour=%d\r\n",hour);
                strncpy((uint8_t*)min,&inputstr[19],2);
                printf("min=%d\r\n",min);
                strncpy((uint8_t*)sec,&inputstr[21],2);
                printf("sec=%d\r\n",sec);
                RTC_Set(syear, smon, sday, hour, min, sec); /* Setup Time */
            }

        }

警告信息为
cast to pointer from integer of different size [-Wint-to-pointer-cast]
且无法正常写入,请问一下解决方法

  • 写回答

2条回答 默认 最新

  • 浪客 2023-08-15 11:08
    关注

    strncpy是字符串拷贝,需要把字符串转换成数字类型

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月23日
  • 已采纳回答 8月15日
  • 创建了问题 8月15日

悬赏问题

  • ¥20 这张图页脚大概具体代码该怎么写?
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22