colorful

zc qq:1337220912

 

stdio.h cstdio

   #include<cstdio>  

2010-01-26 23:25:29|  分类: 编程 |字号 订阅

在新的C++标准中,生成新头文件 的方法仅仅是将现有C++头文件名中的.h去掉。例如,<iostream.h>变成了< iostream>,<complex.h>变成了<complex>,等等。对于C头文件,采用同样的方法,但在每个名 字前还要添加一个c。所以C的<string.h>变成了<cstring>,<stdio.h>变成了< cstdio>,等等。    
  旧的C++头文件是官方所反对使用的(即,明确列出不再支持),但旧的C头文件则没有(以保持对C的兼容性)。    
  下面是C++头文件的现状:    
  ·     旧的C++头文件名如<iostream.h>将会继续被支持,尽管它们不在官方标准中。这些头文件的内容不在名字空间std中。    
  ·     新的C++头文件如<iostream>包含的基本功能和对应的旧头文件相同,但头文件的内容在名字空间std中。(在标准化的过程中,库中有些部分的细节被修改了,所以旧头文件和新头文件中的实体不一定完全对应。)    
  ·     标准C头文件如<stdio.h>继续被支持。头文件的内容不在std中。    
  ·     具有C库功能的新C++头文件具有如<cstdio>这样的名字。它们提供的内容和相应的旧C头文件相同,只是内容在std中。

如果编译器同时支持<iostream>和  
  <iostream.h>   。如果使用了#include  
  <iostream>,   得到的是置于名字空间std下的iostream   库的元素;  
  如果使用#include   <iostream.h>,得到的是置于全局空间的同样的元素。在全  
  局空间获取元素会导致名字冲突,而设计名字空间的初衷正是用来避免这种名  
  字冲突的发生.
#if           _MSC_VER   >   1000  
  #pragma   on
ce  
  #endif  
   
  #ifndef   _CSTDIO_  
  #define   _CSTDIO_  
  #ifdef   _STD_USING  
    #undef   _STD_USING  
    #include   <stdio.h>  
    #define   _STD_USING  
  #else  
    #include   <stdio.h>  
  #endif   /*   _STD_USING   */  
  #endif   /*   _CSTDIO_   */  
   
  上面就是cstdio的全部内容(vc6)  
  好像只是include   <stdio.h>而已!!!

posted on 2012-03-29 16:38 多彩人生 阅读(486) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


导航

统计

常用链接

留言簿(3)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜