字符串长度为76的问题

Lip*_*eka -1 c strlen strncpy

我在这里不知所措.将在短时间内发布我的代码...只是它太长了,无法提取部分"令人不安"的代码.将expalin我的问题:我在一个结构数组中存储一个字符串(文件或目录的路径),{ char *path; size_t path_len}其中path是字符串path_en及其长度.在插入path_lenis 76时.从数组中提取strncpy字符串长度变为78或甚至数组中的字符串的简单strlen说77.

原始字符串长度小于77的所有其他情况都可以正常工作.

我很困惑.

Sor*_*ren 6

使用strncpy - 你还记得null终止生成的复制字符串吗?

如果字符串长度超过N(N是传递给strncpy的第3个参数),则strncpy不会终止字符串.