【发布时间】:2016-04-13 22:03:29
【问题描述】:
在我的程序中,我有一个全局缓冲区字符串,比如说
char buffer[110];
它从适配器读取并存储尚未处理的字符串。我有这样的事情:
while(...){
readfromAdapter();
copytoBuffer();
processAndRemoveSomeCharsFromBuffer();
}
每次处理字符串的一部分时,我都希望将其从缓冲区中删除。我搜索了如何从 C 中的字符串中删除前几个字符,在大多数答案中我增加了指针,在本例中为 buffer。但是,在这种情况下,这应该会导致溢出。
我有两种方法。
每次我用完缓冲区中的空间时,我都会释放旧空间并为其分配一些新空间。在这种情况下,我会将缓冲区从 char 数组更改为全局 char 指针。
另一个是每次进行一些字符时,我都会将旧的buffer+len复制到buffer。
我该怎么做?
【问题讨论】: