我这里有个小问题memcpy()
当我写这个
char ipA[15], ipB[15];
size_t b = 15;
memcpy(ipA,line+15,b);
它从第 15 个元素开始从数组中复制b
字节line
(很好,这就是我想要的)
memcpy(ipB,line+31,b);
b
这从第 31 个元素开始的行中复制字节,但它也将前一个命令的结果附加到它上面,即ipA
.
为什么?ipB
大小是 15,所以它不应该有足够的空间来复制其他任何东西。这里发生了什么事?
- 结果
ipA
是192.168.123.123
- 结果
ipB
变成205.123.123.122 192.168.123.123
我哪里错了?我实际上不太了解 C 中的内存分配。