六十三吖 2016-12-02 10:24 采纳率: 0%
浏览 1918

c语言strncpy函数的使用

在visual stdio2013中不能使用strncpy函数,说是应该用strcpy_s

 strncpy_s(&q_StrGameBack[q_arrSanke[i][0]][q_arrSanke[i][1]],&m, 2);

可是我调用的时候总是提示调用参数太少

查了下函数原型是

 strncpy_s(_Out_writes_z_(_SizeInBytes) char * _Dst, _In_ rsize_t _SizeInBytes, _In_reads_or_z_(_MaxCount) const char * _Src, _In_ rsize_t _MaxCount);

我应该是缺少了_In_ rsize_t _SizeInBytes这个参数,可是这个参数该怎么填啊
求哪位大神给我解答下,谢谢了

  • 写回答

1条回答 默认 最新

  • 小胡子V 2016-12-02 12:47
    关注

    strncpy_s比strncpy更安全

    errno_t strncpy_s(
    char *strDest,
    size_t numberOfElements,
    const char *strSource,
    size_t count
    );
    参数就不做介绍了,容易看懂。下面就几种情况介绍。主要涉及目标内存大小numberOfElements、拷贝的大小count以及源字符串的大小src_len.

    1. numberOfElements > count,src_len>count时,复制count到目标区域;

    2.numberOfElement>count,src_len<count时,复制src_len到目标区域;

    1. numberOfElement<=count,src_len和count的关系任意时,抛出异常。

    其中count不确定时,可以用_TRUNCATE代替,即最大可能的复制到目标区域,这时长度取决于1,2。即numberOfElements和src_len中较大的。

    _TRUNCATE实际就是个宏定义,int-1.一个很大的数目。

    评论

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型