strncpy 与 memcpy

        今天调 智能卡 程序 犯了一个很 2 的错误,真是丢人丢到家了,不过还是记录下来吧  引以为戒。

        strncpy( u8SendData, SC_ATR_Table, u8SendDataIndex );

        发现只拷贝了几个数据,没有全部拷贝

       随即把程序换成for , 拷贝没有问题,
            for( i=0; i < u8SendDataIndex; i++)
              u8SendData[i] =  SC_ATR_Table[i]; 

后来查看SC_ATR_Table数组中的数据,发现只拷贝到数据为0的位置,


            数据源(src)   和 目的 缓冲区(dest) 都是 数组结构,并且存储的是数据,而非字符串,不能用 字符串拷贝命令,strcpy,strncpy
于是马上改为内存拷贝            memcpy( u8SendData, SC_ATR_Table, u8SendDataIndex );

测试 ok。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值