关于C++头文件的引用
2016-12-10 17:34
225 查看
在学习C++,使用getline的过程中,遇到一些问题,代码如下:
#include <stdlib.h>
#include <iostream>
#include <string.h>
using namespace std;
int main (void)
{
string name;
cout << "please enter your name: " << endl;
getline(cin, name);
if(name.empty())
{
cout << "empty input" << endl;
}else if(name == "imooc")
{
cout << "your are an administrator~" << endl;
}else
{
cout << "hello, " + name << endl;
cout << "your name length is : " << name.size() << endl;
cout << "the first letter of your name is: " << name[0] << endl;
}
system("pause");
return 0;
}
然后报错getline:找不到标识符(然后写博客时发现这两个字读作[biāo zhì]),后边查原因才知道是头文件引用的问题。应该引用头文件string而非string.h。
那么,这两种头文件的区别是什么呢?
string.h主要是C语言标准库的头文件,C++向下可以兼容C语言,因此可以使用;string则是C++自己对应的标准库,C++标准库的头文件名均不带".h"的扩展名。因此,string.h头文件中并不包含getline函数,故出现上述错误
#include <stdlib.h>
#include <iostream>
#include <string.h>
using namespace std;
int main (void)
{
string name;
cout << "please enter your name: " << endl;
getline(cin, name);
if(name.empty())
{
cout << "empty input" << endl;
}else if(name == "imooc")
{
cout << "your are an administrator~" << endl;
}else
{
cout << "hello, " + name << endl;
cout << "your name length is : " << name.size() << endl;
cout << "the first letter of your name is: " << name[0] << endl;
}
system("pause");
return 0;
}
然后报错getline:找不到标识符(然后写博客时发现这两个字读作[biāo zhì]),后边查原因才知道是头文件引用的问题。应该引用头文件string而非string.h。
那么,这两种头文件的区别是什么呢?
string.h主要是C语言标准库的头文件,C++向下可以兼容C语言,因此可以使用;string则是C++自己对应的标准库,C++标准库的头文件名均不带".h"的扩展名。因此,string.h头文件中并不包含getline函数,故出现上述错误
相关文章推荐
- C++ 关于输入输出流的头文件引用
- C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一个编译单元重复引用,不具名空间
- 关于在C++开发的项目中引用后缀名为.c文件的一句话提醒
- C/C++中关于地址、指针和引用变量的学习笔记(六) : const和void
- 关于C++头文件的小知识
- C/C++中关于地址、指针和引用变量的学习笔记(十) : 引用型变量
- 关于ISO/ANSI C++头文件的说明
- 关于C++中指针和引用的速度
- C/C++中关于地址、指针和引用变量的学习笔记(四) : 函数
- C/C++中关于地址、指针和引用变量的学习笔记(三) : 结构
- 关于C++头文件的问题
- 关于在C++开发的项目中引用后缀名为.c文件的一句话提醒
- 关于C++中函数返回引用的讨论
- 关于C++引用运算符&的若干学习笔记
- C/C++中关于地址、指针和引用变量的学习笔记(五) : 指针
- 关于引用两篇之一 C++
- 关于 C++ 引用 的面试题
- 关于“C++中产生随机数”(引用 http://hi.baidu.com/vincey/blog/item/5c145d08dd1e6d950a7b824b.html)
- C/C++中关于地址、指针和引用变量的学习笔记(八) : 命令行参数
- 关于C++对函数传参与函数返回值进行引用传递的详解