我有一个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/

10-11 22:42