头文件string与string.h的区别
在C++中,#include<iostream>与#include<iostream.h>的区别,前者要使用更新的编译器(其实大部分编译器多比较前卫了,出了有些搞嵌入式的用变态的编译器)。
喔,原来iostream是C++的头文件,iostream.h是C的头文件,即标准的C++头文件没有.h扩展名,将以前的C的头文件转化为C++的头文件后,有时加上c的前缀表示来自于c,例如cmath就是由math.h变来的。
using namespace std //使用名字空间(使用所有)
using namespace std::cout//只使用cout
如不用using,则在代码前可以用sdt::cout<<表示使用的是std中的cout。
#include<iostream.h> //必须要加上.h
void main()
{
cout<<"Right?"<<endl;
}
#include<string>
#include<iostream> //此处必须去掉.h
using namespace std ;
void main()
{
string s;
getline(cin,s);
cout<<"Right?"<<endl;
}
相关解析:
iostream.h里面定义的所有类以及对象都是在全局空间里,所以你可以直接用cout
但在iostream里面,它所定义的东西都在名字空间std里面,所以你必须加上
using namespace std才能使用cout
一般一个C++的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。
但唯独string特别。
问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比如楼主提到的strcmp。
这个头文件跟C++的string类半点关系也没有,所以<string>并非<string.h>的“升级版本”,他们是毫无关系的两个头文件。
要达到楼主的目的,比如同时:
#include <string.h>
#include <string>
using namespace std;
或者
#include <cstring>
#include <string>
其中<cstring>是与C标准库的<string.h>相对应,但裹有std名字空间的版本。
最大的挑战是把字符串头文件理清
楚:<string.h>是旧的C 头文件,对应的是基于char*的字符串处理函数;<string>
是包装了std 的C++头文件,对应的是新的string 类(看下文);<cstring>是对
应于旧C 头文件的std 版本。如果能掌握这些(我相信你能),其余的也就容易
了。
<string>是c++ 的头文件,其内包含了一个string类,string s1就是建立一个string类的对象
<string.h> 的c语言的东西 并无类,所以不能 string s1
<cstring>文件实际上只是在一个命名空间std中include了 <string.h>,…
分享到:
相关推荐
C语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING....
C 语言和 C++ 语言中的字符串处理头文件 string.h、cstring 和 string 的区别和应用 字符串处理是编程语言中非常重要的一部分,C 语言和 C++ 语言中都提供了多种字符串处理函数和类库。本文将对 string.h、cstring ...
在不同的头文件中,C++提供了多种方式来处理字符串,包括`<cstring>`, `<string.h>`, `<string>`以及`CString`。下面我们将详细讨论这些头文件及其关联的字符串类型和功能。 首先,`<cstring>`是C++中用于处理C风格...
6. `my_string.h`和`my_sys.h`:这两个头文件包含了MySQL内部使用的字符串处理函数和系统级操作,如内存分配、文件I/O等。虽然在编写直接与MySQL交互的应用时可能用到不多,但它们对于了解MySQL底层工作原理非常有...
基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用...
C语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC...
### 头文件iostream与iostream.h的区别 在C++编程中,`iostream`和`iostream.h`是两个重要的头文件,它们对于输入输出流的操作至关重要。本文将深入探讨这两个头文件之间的区别及其对C++程序的影响。 #### 1. C++...
- `<string.h>`:字符串处理库,提供了如 `strcpy`、`strlen`、`strcmp` 等处理C语言字符串的函数。 - `<math.h>`:数学库,提供了三角函数、对数、指数等数学运算函数。 - `<time.h>`:时间库,允许程序处理日期...
- <string.h>:字符串操作函数。 - <wchar.h>:宽字符字符串操作。 ### 时间日期处理 - <time.h>:日期和时间的函数。 ### 错误处理 - <errno.h>:定义了通过函数调用传递错误信息的宏。 ### 信号处理 - <signal....
9. `<arpa/inet.h>`、`<netinet/in.h>`和`<netinet/tcp.h>`:与网络相关的头文件,分别定义了互联网相关的数据结构和协议,如IP地址和TCP协议。 10. `<sys/types.h>`、`<sys/stat.h>`、`<sys/mman.h>`等:定义了...
在C和C++编程语言中,`<string.h>`头文件包含了处理字符串的诸多基本函数。这些函数在处理字符数组时非常有用,特别是在内存管理和字符串操作方面。以下是一些常用的`<string.h>`中的函数及其详细说明: 1. **...
C 语言中的`<string.h>`头文件是处理字符串操作的核心库,它包含了多种用于创建、复制、连接、比较、查找和修改字符串的函数。以下是对这些功能的详细说明: 1. **复制**: - `strcpy(s1, s2)`:这个函数用于将...
9. `lcd.h`、`adc.h`、`i2c.h`等:这些头文件通常与特定的硬件模块相关,如液晶显示、模数转换器和I2C通信。它们包含了初始化和控制这些硬件的函数,使得开发者可以轻松地与这些外设交互。 在Keil C51编程中,合理...
标题中的“inttypes.h”和“stdint.h”是C语言编程中用于处理固定宽度整数类型的标准库头文件。这两个文件在Linux系统中是默认存在的,但在Windows环境下,由于标准库的差异,可能会遇到找不到这些文件的问题。在...
`os_defines.h`很可能是一个头文件,其中包含了针对特定操作系统(在这种情况下是Windows)的定义,以便在MingW环境下模拟或扩展C++11中的`std::to_string`功能。这个文件可能包含了自定义的实现,或者是对现有库的...
3. `#include <cstdio>`:这个头文件与C语言的`stdio.h`类似,提供了C风格的输入输出函数,如`printf`和`scanf`。在C++中,通常推荐使用`iostream`来处理输入输出,因为`iostream`更安全且类型安全。 4. `#include ...
3. `<unistd.h>`:UNIX系统特有的头文件,包含了与进程、文件描述符、信号处理等相关的函数声明,如`fork`、`exec`系列、`read`、`write`、`close`、`sleep`等。 4. `<string.h>`:提供了一系列操作字符串的函数,...
例如,`stdio.h`用于输入输出,`stdlib.h`提供了通用的实用函数,`string.h`包含了字符串操作函数,而`math.h`则提供了数学函数如平方根、指数和对数等。 描述中提到,“包含所有c/c++库头文件,解压直接放进安装...
本资源"**C语言库函数源码(string.h)**"是一个宝贵的参考资料,包含了C标准库中`string.h`头文件下的多个库函数的源代码。了解这些源代码能帮助我们深入理解C语言的工作原理,优化自己的程序,并学习如何编写更...
标准库 - <string.h> 简介 string .h 头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。