`
灵动的水
  • 浏览: 194592 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

头文件string与string.h的区别

阅读更多

头文件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.H

    C语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING.HC语言头文件 STRING....

    头文件 string.h cstring string 区别.docx

    C 语言和 C++ 语言中的字符串处理头文件 string.h、cstring 和 string 的区别和应用 字符串处理是编程语言中非常重要的一部分,C 语言和 C++ 语言中都提供了多种字符串处理函数和类库。本文将对 string.h、cstring ...

    头文件 string.h cstring string 区别.pdf

    在不同的头文件中,C++提供了多种方式来处理字符串,包括`&lt;cstring&gt;`, `&lt;string.h&gt;`, `&lt;string&gt;`以及`CString`。下面我们将详细讨论这些头文件及其关联的字符串类型和功能。 首先,`&lt;cstring&gt;`是C++中用于处理C风格...

    mysql 5.5版 头文件(mysql.h等)

    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的简单应用基于Keil实现字符串函数string.h的简单应用...

    C语言头文件 STRING

    C语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC语言头文件 STRINGC...

    头文件iostream 与iostream.h区别

    ### 头文件iostream与iostream.h的区别 在C++编程中,`iostream`和`iostream.h`是两个重要的头文件,它们对于输入输出流的操作至关重要。本文将深入探讨这两个头文件之间的区别及其对C++程序的影响。 #### 1. C++...

    C语言头文件库

    - `&lt;string.h&gt;`:字符串处理库,提供了如 `strcpy`、`strlen`、`strcmp` 等处理C语言字符串的函数。 - `&lt;math.h&gt;`:数学库,提供了三角函数、对数、指数等数学运算函数。 - `&lt;time.h&gt;`:时间库,允许程序处理日期...

    C语言头文件大全程序设计语言.pdf

    - &lt;string.h&gt;:字符串操作函数。 - &lt;wchar.h&gt;:宽字符字符串操作。 ### 时间日期处理 - &lt;time.h&gt;:日期和时间的函数。 ### 错误处理 - &lt;errno.h&gt;:定义了通过函数调用传递错误信息的宏。 ### 信号处理 - &lt;signal....

    Linux头文件作用[归类].pdf

    9. `&lt;arpa/inet.h&gt;`、`&lt;netinet/in.h&gt;`和`&lt;netinet/tcp.h&gt;`:与网络相关的头文件,分别定义了互联网相关的数据结构和协议,如IP地址和TCP协议。 10. `&lt;sys/types.h&gt;`、`&lt;sys/stat.h&gt;`、`&lt;sys/mman.h&gt;`等:定义了...

    c和c++中的头文件String.h包含的常用函数及简要分析.doc.docx

    在C和C++编程语言中,`&lt;string.h&gt;`头文件包含了处理字符串的诸多基本函数。这些函数在处理字符数组时非常有用,特别是在内存管理和字符串操作方面。以下是一些常用的`&lt;string.h&gt;`中的函数及其详细说明: 1. **...

    string.h头文件.pdf

    C 语言中的`&lt;string.h&gt;`头文件是处理字符串操作的核心库,它包含了多种用于创建、复制、连接、比较、查找和修改字符串的函数。以下是对这些功能的详细说明: 1. **复制**: - `strcpy(s1, s2)`:这个函数用于将...

    keil中c51编程中常用的头文件

    9. `lcd.h`、`adc.h`、`i2c.h`等:这些头文件通常与特定的硬件模块相关,如液晶显示、模数转换器和I2C通信。它们包含了初始化和控制这些硬件的函数,使得开发者可以轻松地与这些外设交互。 在Keil C51编程中,合理...

    inttypes.h和stdint.h

    标题中的“inttypes.h”和“stdint.h”是C语言编程中用于处理固定宽度整数类型的标准库头文件。这两个文件在Linux系统中是默认存在的,但在Windows环境下,由于标准库的差异,可能会遇到找不到这些文件的问题。在...

    mingw-to-string-gcc47.zip

    `os_defines.h`很可能是一个头文件,其中包含了针对特定操作系统(在这种情况下是Windows)的定义,以便在MingW环境下模拟或扩展C++11中的`std::to_string`功能。这个文件可能包含了自定义的实现,或者是对现有库的...

    常用的c++头文件大全 (2).docx

    3. `#include &lt;cstdio&gt;`:这个头文件与C语言的`stdio.h`类似,提供了C风格的输入输出函数,如`printf`和`scanf`。在C++中,通常推荐使用`iostream`来处理输入输出,因为`iostream`更安全且类型安全。 4. `#include ...

    UNIX头文件大全(.h文件压缩包)

    3. `&lt;unistd.h&gt;`:UNIX系统特有的头文件,包含了与进程、文件描述符、信号处理等相关的函数声明,如`fork`、`exec`系列、`read`、`write`、`close`、`sleep`等。 4. `&lt;string.h&gt;`:提供了一系列操作字符串的函数,...

    C语言库头文件 全

    例如,`stdio.h`用于输入输出,`stdlib.h`提供了通用的实用函数,`string.h`包含了字符串操作函数,而`math.h`则提供了数学函数如平方根、指数和对数等。 描述中提到,“包含所有c/c++库头文件,解压直接放进安装...

    C语言库函数源码(string.h)

    本资源"**C语言库函数源码(string.h)**"是一个宝贵的参考资料,包含了C标准库中`string.h`头文件下的多个库函数的源代码。了解这些源代码能帮助我们深入理解C语言的工作原理,优化自己的程序,并学习如何编写更...

    String.h文件

    标准库 - &lt;string.h&gt; 简介 string .h 头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。

Global site tag (gtag.js) - Google Analytics