我有一个mainbuf[bufsize]
,最初是空的。
我从一些输入中读取:read(fd, otherbuf, sizeof(otherbuf))
分配给otherbuf
的不同字符串。每次我将新字符串分配给otherbuf
时,我都希望将其附加到mainbuf
。
我做:memcpy(mainbuf,otherbuf, numberofBytesReadInotherbuff)
,但是它不能给我所有的字符串。通常最后一个otherbuf
是正确的,但其他所有ojit_code都缺少字符。
最佳答案
每次调用memcpy
时,都需要更改目标指针。
例如,假设现在mainbuf
中有4个字节。接下来,您将收到10个字节。这是附加的方法:
memcpy(mainbuf + 4, otherbuf, 10);
关于c - 如何正确使用memcpy?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5587121/