背景:我有一个模仿的小例程,fgets(character, 2, fp)
除了它从字符串而不是流中获取字符。newBuff 是作为参数传递的动态分配的字符串,并且字符被声明为char character[2]
.
常规:
character[0] = newBuff[0];
character[1] = '\0';
strcpy(newBuff, newBuff+1);
strcpy 复制了从其中读取每个字符时丢失的信息。
问题:Valgrind 确实警告我这个活动,“源和目标在 strcpy(0x419b818, 0x419b819) 中重叠”。
我应该担心这个警告吗?