话本小说网 > 玄幻奇幻小说 > DevHacker:DiamondHeart
本书标签: 玄幻奇幻  万物文社  原创作品     

第一部分后记(二)

DevHacker:DiamondHeart

【后记·关于strncpy函数】

这一章我们来讲一讲strncpy函数。

strncpy函数的作用是将一个字符数组里的内容拷贝到另一个字符数组里。其原型为:

(需要cstring头文件)

害,这个参数太长了,我简写算了。其实我至今仍不太明白编这个库函数的人取那么复杂的参数名,自己不累吗?

Dest表示的是待拷贝的那个字符数组,Source表示的是含有需要拷贝内容的那个字符数组,Count表示Source中需要拷贝的字符的数量。(Size_t即unsigned long)

此处我们可以看到:Source的变量类型char前面用上了一个const常量方式,这就涉及到一个知识点:用常量保护形参不被修改。因为指针“*”和数组“[]”实际上是一回事,而当指针作为参数时,指针指向的对象/指针值若是在函数中修改,main函数中该函数的实参也会被修改。同样,如果在strncpy函数中,Source被修改了,那么main函数中的Source的实参也会被修改,这样可能得到无法挽回的恶果。然而用const定义后,在函数中就只能读出它,而不能修改它,也就不用担心上述情况了。

【strncpy函数实战】

如果我想要自己用等号来达到拷贝字符数组的效果:

那么结果会是这样:

编译错误。

那么当我用上strncpy函数:

结果是这样:

编译成功。

上一章 第一部分后记(一) DevHacker:DiamondHeart最新章节 下一章 第二部分