当前位置:  编程技术>c/c++/嵌入式

iostream与iostream.h的区别详细解析

    来源: 互联网  发布时间:2014-10-19

    本文导语:  C++的标准类库被修订了两次,有两个标准 C92和C99,这两个库现在都在并行使用,用 .h 包含的是c92 ,不带 .h 的是c99的头文件,对于普通用户来说这两者没有什么区别,区别是在内部函数的具体实现上。旧的C++头文件是官方明确...

C++的标准类库被修订了两次,有两个标准 C92和C99,这两个库现在都在并行使用,用 .h 包含的是c92 ,不带 .h 的是c99的头文件,对于普通用户来说这两者没有什么区别,区别是在内部函数的具体实现上。旧的C++头文件是官方明确反对使用的,但旧的C头文件则没有(以保持对C的兼容性)。据说从 Visual C++ .NET 2003 开始,移除了旧的 iostream 库。其实编译器制造商不会停止对客户现有软件提供支持,所以在可以预计的将来,旧的C++头文件还会嚣张一段时间。如果能明白字符串头文件的使用,举一反三,其他的也差不多会用了:

是旧的C/C++头文件,对应的是基于char*的字符串处理函数;
是包装了std的C++头文件,对应的是新的strng类;
是对应旧的C头文件的std版本。

如果编译器都同时支持< iostream >和< iostream.h >,那使用#include < iostream >,得到的是置于名字空间std下的iostream库的元素;如果使用#include < iostream.h >,得到的是置于全局空间的同样的元素。在全局空间获取元素会导致名字冲突,而设计名字空间的初衷正是用来避免这种名字冲突的发生。

想象讯雷下载软件一样,先从服务器确定下载文件的大小,初始时即保存文件,全部填充0,多个线程下载数据直接写入文件,对自己线程负责下载的那段文件片的0进行改写,其中就涉及到文件共享写的操作

出现的问题时:
vc7.1 已经不支持 filebuf::sh_read等关键字,不知在vc7下若要用文件流来对文件进行非独占读和写操作该如何实现?

而:
vc6.0中的iostream.h
filebuf::sh_read
filebuf::sh_write
filebuf::sh_note
filebuf::sh_openprot

无论自己是用vc6或者vc7的IDE
当用到标准的输入输出和文件流时都是:
include
include
using namespace std;


有两种用法:
A:
include
include

B:
include
include

A是标准用法,B是老式用法。
如果用了,则一定要引入命名空间,即"using namespace std;".
如果用了,则不那引入命名空间,否则会引起编译错误,提示找不到命名空间,例程如下:

//情况一:使用和命名空间
#include
using namespace std;
int main()
{
cout


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c++ I/O库及I/O流操作标志介绍(iostream、fstream等类)
  • 关于iostream.h的问题
  • 为什么找不到iostream.h
  • Linux下iostream库的使用问题
  • 请问linux下用C++编程,有<iostream.h><fstream.h>这些东东吗?
  • 我下载了gcc 3.2 的source 安装以后 g++ 发现找不到iostream
  • fc9找不到标准头文件<iostream.h>
  • Ubuntu下装了code::blocks,但是有iostream和好多C++头文件都找不到,要自己添加吗???
  • 我不信CSDN上没有人会这个!什么创建一个std::iostream的实例?
  • 各位老兄帮忙了!写makefile进行编译程序时,找不到iostream map vector
  • g++编译出错.../usr/include/c++/3.2.2/backward/iostream.h...
  • 有#include<iostream>,但是还是报cout没有定义


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3