提问人:Sir2B 提问时间:7/22/2022 最后编辑:user438383Sir2B 更新时间:7/22/2022 访问量:292
为什么 GCC 抱怨 Wstringop-overflow?
Why is GCC complaining with Wstringop-overflow?
问:
我有如下所示的代码:
char* newChar = new char[strlen(inputCharArray)+1];
if (NULL == newChar) {
return;
}
strncpy(newChar, inputCharArray, strlen(inputCharArray));
newChar[strlen(inputCharArray)] = '\0';
对我来说,这似乎是完全有效的代码。但是 GCC 9.2.1 对此表示不满,并发出以下警告:
警告:“char* strncpy(char*, const char*, size_t)”指定绑定 取决于源参数的长度 [-Wstringop-overflow=]
答: 暂无答案
评论
new
memcpy
std::copy
std::string
delete[]
std::string newChar(inputCharArray);
strncpy()
new
strncpy()