设为首页 加入收藏

TOP

2.5.3 使用CRT(C运行时期库)
2013-10-07 00:50:17 来源: 作者: 【 】 浏览:73
Tags:2.5.3 使用 CRT 运行 时期

2.5.3  使用CRT(C运行时期库)

在遥远的C语言时代,C语言就提供了丰富的函数库,如<stdio.h>,它即对应于标准输入/输出的功能库。

C++(www.cppentry.com)中,这些C标准库得以保留,但C++(www.cppentry.com)不再赞成如下方式使用传统的C头文件:

  1. #include <stdlib.h>  
  2.  
  3. int i = rand(); 

C++(www.cppentry.com)鼓励使用<cstdlib>这样的形式替换".h"的写法:

  1. #include <cstdlib> 

前缀c的含义在于这是一个C标准库。C标准库的内容会被C++(www.cppentry.com)同时置于全局名字空间和std名字空间,所以对随机函数rand()的调用也可以写成:
std::rand()

C标准库主要包括在表2-5所示的头文件中。

2-5  C标准库包含的头文件< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

头文件

含义

<cassert>

诊断库

<cctype>

字符处理函数库

<cerrno>

错误定义

<cfloat>

浮点类型

<climits>

整型数值的尺寸定义

<clocale>

国际化库

<cmath>

数学库

<csetjmp>

跳转函数库

<csignal>

信号处理库

<cstdarg>

可变参数处理

<cstddef>

标准定义库

<cstdio>

标准输入、输出库

<cstdlib>

标准工具库

<cstring>

字符串函数库

<ctime>

时间库

在<cstdlib>中其实就有操作文件的函数:

  1. FILE *fopen(            //创建、打开一个文件  
  2.    const char* filename,   
  3.    const char* mode   
  4. );  
  5.  
  6. int fclose(             //关闭文件  
  7.    FILE* stream   
  8. );  
  9.  
  10. int fprintf(            //向文件输出指定格式的文本  
  11.    FILE* stream,   
  12.    const char* format [, argument ]...  
  13. );  
  14.  
  15. int fscanf(             //从文件读取指定格式的文本  
  16.    FILE* stream,   
  17.    const char* format [, argument ]...   
  18. ); 

现在动手

接下来,我们体验如何采用CRT库函数来操作文件。

【程序 2-13】使用CRT输出茴字

  1. 01  #include "stdafx.h" 
  2. 02  #include <cstdio>  
  3. 03    
  4. 04  int main()  
  5. 05  {  
  6. 06      //写入文件  
  7. 07      FILE * fp = fopen("test.out""w");  
  8. 08      fprintf(fp, "茴香豆的茴");  
  9. 09      fclose(fp);  
  10. 10    
  11. 11      //读取文件  
  12. 12      fp = fopen("test.out""r");  
  13. 13      char line[256];  
  14. 14      fscanf(fp, "%s", line);  
  15. 15      printf("%s\r\n", line);  
  16. 16      fclose(fp);  
  17. 17    
  18. 18      return 0;19 } 

输出结果如图2-50所示。

好奇的读者可以在项目的当前目录找到输出文件test.out,它的内容如图2-52所示。

 
图2-52  使用CRT库函数生成的文件

光盘导读

该项目对应于光盘中的目录"\ch02\ CrtWriter"。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.5.4 使用CRT库的宽字符版本 下一篇2.5.5 使用CRT库的安全版本

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: