《VC++深入详解》学习笔记[9]——第12章 文件和注册表操作

 

第12章 文件和注册表操作

1.const char*和char* const

指向常量的指针const char*:也可将const放到char后面,但是要在*号前面,即也可以写为:char const*;该类型定义的常量指针不能修改其指向的内存中的内容,但可以修改其所指向的内存地址。

指针常量char* const:必须在其定义的同时赋值。指针常量表示指针本身是常量。

2.C语言对文件操作的支持(头文件:stdio.h)

①文件的打开:FILE *fopen( const char *filename, const char *mode );

②文件的写入:size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );

       C语言对文件的操作使用了缓冲文件系统。

③文件的关闭:int fclose( FILE *stream );

④在不关闭文件的情况下将缓冲区数据写入磁盘文件:int fflush( FILE *stream );

⑤文件指针定位:int fseek( FILE *stream, long offset, int origin );

⑥文件的读取:size_t fread( void *buffer, size_t size, size_t count, FILE *stream );

       应该在读取到的数据之后添加’\0’字符,以便作为字符串的结尾,有以下方法:

       1)在写入数据时多写入一个内容为’\0’的字节;

       2)在定义字符数组之后,利用C语言的memset函数将这个字符数组中所有数据都设置为0:

              char ch[100];

              memset(ch,0,100);

              fread(ch,1,100,pFile);

       3)对于事先不知道将要读取的文件大小的情况,可以利用C语言的ftell及fseek函数来得到文件的长度。ftell函数返回文件指针当前的位置,因此可以先利用fseek函数将文件指针移动到文件的结尾处,然后利用ftell函数就可以得到文件指针的当前位置,也就是文件的长度。再根据此长度构造数组,并采取置0操作:

              FILE *pFile=fopen(“1.txt”,”r”);

              char *pBuf;

              fseek(pFile,0,SEEK_END);

              int len=ftell(pFile);

              pBuf=new char[len+1];

              rewind(pFile); //将文件指针移动到文件开始处

              fread(pBuf,1,len,pFile);

              pBuf[len]=0;

              fclose(pFile);

3.C++对文件操作的支持(头文件:fstream.h)

①ofstream类用来向文件中写入数据;

②ifstream类用来读取文件;

4.Win32 API对文件操作的支持:CreateFile、ReadFile、WriteFile;

5.MFC对文件操作的支持:

       MFC提供的支持文件操作的基类是CFile,该类提供了没有缓存的二进制格式的磁盘文件输入输出功能;

       CFileDialog类用来实现一个具有“打开文件”或者“另存为”对话框的功能。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值