编译代码时出错
Error when compiling code
我得到这个错误字符串未声明在编译这个代码。
#include <stdio.h>
#include <stdlib.h>
int main()
{
string names;
printf("What is your name?n");
scanf("%s", &names);
printf("Your name is %s", names);
return 0;
}
谁能告诉我为什么?非常感谢 你应该包括字符串头:
#include <string>
,使用时不要忘记命名空间std
:
std::string names;
此外,在编写代码时不要把C和c++混在一起。试着用std::cout
而不是printf
, cin/getline
而不是scanf
你需要添加
#include <string>
从c++标准库中引用字符串,并声明您正在使用std与
using namespace std;
。
如果您正在编写c++,那么标准字符串类称为std::string
,并且位于头文件<string>
中。但是你通常不会想要使用printf
或scanf
,你会使用c++ I/O:
#include <iostream>
#include <string>
int main()
{
using namespace std;
string names;
cout << "What is your name?" << endl;
getline(cin, names);
cout << "Your name is " << names << endl;
}
如果(尽管有疑问标签)你正在写C,那么就没有称为string
的类型。字符串通常由字符数组表示:
char names[SOME_LARGE_NUMBER];
但是要注意,除非您非常小心,否则scanf
可能会溢出缓冲区并导致各种类型的运行时错误
因为std::string是在头字符串中定义的,而您没有包含头字符串,并且因为它的全名和专有名称是std::string,而不仅仅是字符串。
相关文章:
- 在Linux for Windows上编译C++代码时出错
- 尝试将另一个子句添加到代码中时出错
- 将代码从 Python 转换为 C++ 时出错
- <limits> 使用 VSC2019 编译旧代码时出错
- 使用 Visual Studio 代码读取 C++ 中的输入流时出错
- 在OpenGL中使用程序集代码渲染视频时出错
- 编译以下代码时出错
- Boost FFT示例-编译时出错,这段代码在做什么
- 编译在 Python 代码内部调用的 C++ 代码时出错,使用 Boost Python
- C++:为什么这段代码会出错?多元线性回归
- 混合开放MP/MPI代码中的多线程发送/接收时出错
- 将节点 js 代码集成到 cpp 库时出错
- 构建代码时出错
- 在字符串流中使用来自 github 的代码时出错
- 在主代码中调用 .hpp 函数时出错
- 将 find_if() 与数组一起使用的代码段中出错
- 我在字数C++的代码中哪里出错了
- 尝试从 Github 编译 OpenCV QT 代码时出错
- 编译创建 Eigen::ThreadPoolDevice 对象的代码时出错
- 编译 .cu 与 .cpp:即使没有任何 CUDA 代码,编译器也会出错