![]() |
1
1
斯曼猫 If src contains n or more characters, strncat() writes n+1 characters to dest (n from src plus the terminating null byte). Therefore, the size of dest must be at least strlen(dest)+n+1$ |
![]() |
2
3
你应该只是 read the man page 再多一点。有效的判决似乎是这样的:
|
![]() |
3
2
strncat将为您应用空终端。由于它不知道您所指向的所谓字符串,因此它将假定空终端有空间。所以你想通过9。 |
![]() |
4
2
如果您的数组只有10个字符的空间,那么您的计数应该是9,因为
另外,在这种情况下,
|
![]() |
5
1
简单的答案是:确保缓冲区足够大,如果缓冲区要容纳10个字符,请在缓冲区的大小上添加一个以适应nul字符。
如果没有指定适当的长度(不包括nul字符),则会发生缓冲区溢出和不可预测的结果,例如程序崩溃,或者跳到永远看不到的树林中。 希望这有帮助, 最好的问候, 汤姆。 |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 4 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 4 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 5 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 5 月前 |