0
我想使用strlcpy
(称为外部API),这是从string.h
,当我使用g ++的-std=c++0x
参数缺少。如何在g ++的-std = C++ 0x模式下使用strlcpy?
% g++ -std=c++0x foo.cpp
foo.cpp: In function 'int main(int, char**)':
foo.cpp:5:11: error: 'strlcpy' was not declared in this scope
% g++ foo.cpp
% cat foo.cpp
#include <string.h>
int main(int argc, char* argv[])
{
const char src[] = "foo";
char dest[1024] = { 0 };
strlcpy(dest, src, sizeof(dest));
return 0;
}
是否有可能使用strlcpy
和std=c++0x
标志,还是我后来放弃?
此外,我无法在cygwin中找到strlcpy
联机帮助页,尽管它们似乎具有该功能。任何指针?
我在cygwin上使用gcc 4.7.2。
由于在我的情况下不使用c字符串的唯一替代方法是删除外部api,我宁愿使用“更安全”的c字符串函数,你不同意吗? –
确实。只要小心大小 –