天天看点

strcpy 与strncpy 区别

strstr 将 src的内容拷到 dst, 直到碰到 \0 , 如果 dst 长度不够, 则会越界。 最后会把 \0 补上。

strncpy 取决于 n 、src 的长度, 如果 n > src , 其余补0, 如果 n< src , 只拷贝 n位,没有\0 .

例子:

strcpy(name,p);      //目标长度小于源串===》错误!

strncpy(name,p,sizeof(name));      //源串长度大于指定拷贝的长度sizeof(name),在这种情况下不会自动在目标串后面加'\0' 。

name[sizeof(name)-1]='\0';//和上一步组合,弥补结果

同一个LIB文件被多个进程使用,必须到特定的进程下,传参给本进程的LIB从而达到修改LIB里函数的作用。如果在另一个进程传参,则只修改了另一个进程自己的LIB函数。

继续阅读