我在Visual Studio 2012中编写了一个代码:
#include <iostream>
using namespace std;
int main()
{
char name1[20], name2[20];
name1 = "John";
strcpy(name2, name1);
cout << name2 << endl;
}
我知道strcpy需要一个库<cstring>
。
代码块会出错:&#39; strcpy&#39;没有宣布。但Visual Studio不会给出任何错误并编译并运行得很好。
为什么呢?这对我来说是个大问题,因为我刚开始解决ACM问题。
答案 0 :(得分:0)
std::string
应该是字符串的默认选择,而不是字符数组。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name1, name2;
name1 = "John";
name2 = name1;
cout << name2 << endl;
}
答案 1 :(得分:0)
在VC ++标题中,<cstring>
包含在<iostream>
中,您已将其包括在内。链是:
<iostream>
<istream>
<ostream>
<ios>
<xlocnum>
<streambuf>
<xiosbase>
<xlocale>
<cstring>