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字符串函數,你不同意嗎? –
確實。只要小心大小 –