我对strncpy有困难。我尝试将一个8个字符的字符串拆分为两部分(一个子字符串中的前6个字符,然后是另一个子字符串中的其余2个字符)。return 0; printf("Enter an 8-character string: \n"); strncpy(p->sub1,p->string,2);
p
假设我想将对strcpy的所有调用替换为对strncpy的调用。替换对strcpy(dest, src)的所有调用的技术包括用参数(dest, src, length of dest - 1)调用strncpy,然后用\0终止dest。我可以将对strcpy的所有调用替换为对strncpy的调用,这将保证我的程序不受缓冲区溢出攻击的影响(至少避免不正确地使用strcpy)。