[英]Does <cstring> not include the strcat_s() function?
我的代碼是這樣的:
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
const int LENGTH1 = 25;
char array_str1[LENGTH1] = "Hey guys! ";
char array_str2[] = "What's up?";
string std_str1 = "Hello everyone! ";
string std_str2 = "How's tricks?";
int main(){
strcat_s(array_str1, LENGTH1, array_str2);
std_str1 += std_str2;
cout << std_str1 << endl;
return 0;
}
當我運行它時,我收到錯誤:
使用未聲明的標識符“strcat_s”
如果我注釋掉strcat_s
行,其余代碼運行良好。
我正在學習教程,即使我從教程中復制粘貼工作代碼,我也會遇到同樣的錯誤。 我在 MacOS 10.14.16 上使用 Visual Studio Code 1.60.0。
<cstring>
不包括 strcat 函數嗎?
<cstring>
確實聲明std::strcat
。
旁注:不要使用std::strcat
; 你不需要它。 使用std::string
。
strcat_s(array_str1, LENGTH1, array_str2);
strcat_s
不是std::strcat
。 即使 C++ 標准庫中有std::strcat
,也沒有strcat_s
。
旁注:C 標准庫中有strcat_s
(從 C11 開始)。 C 是另一種語言。 即使在 C 中,也不能保證支持strcat_s
,並且並非所有語言實現都提供它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.