易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++ 文件读写操作总结

 C/C++ 文件读写操作总结
在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:
 
1、基于C的文件操作;
2、基于C++的文件操作;
3、基于WINAPI的文件操作;
4、基于BCB库的文件操作;
5、特殊文件的操作。
壹、基于C的文件操作
  在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。
一、流式文件操作
  这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下:
typedef struct {
int level; /* fill/empty level of buffer */
unsigned flags; /* File status flags */
char fd; /* File descriptor */
unsigned char hold; /* Ungetc char if no buffer */
int bsize; /* Buffer size */
unsigned char _FAR *buffer; /* Data transfer buffer */
unsigned char _FAR *curp; /* Current active pointer */
unsigned istemp; /* Temporary file indicator */
short token; /* Used for validity checking */
} FILE; /* This is the FILE object */
  FILE这个结构包含了文件操作的基本属性,对文件的操作都要通过这个结构的指针来进行,此种文件操作常用的函数见下表 函数 功能
fopen() 打开流
fclose() 关闭流
fputc() 写一个字符到流中
fgetc() 从流中读一个字符
fseek() 在流中定位到指定的字符
fputs() 写字符串到流
fgets() 从流中读一行或指定个字符
fprintf() 按格式输出到流
fscanf() 从流中按格式读取
feof() 到达文件尾时返回真值
ferror() 发生错误时返回其值
rewind() 复位文件定位器到文件开始处
remove() 删除文件
fread() 从流中读指定个数的字符
fwrite() 向流中写指定个数的字符
tmpfile() 生成一个临时文件流
tmpnam() 生成一个唯一的文件名
  下面就介绍一下这些函数
1.fopen()
  fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能
为使用而打开一个流
把一个文件和此流相连接
给此流返回一个FILR指针
参数filename指向要打开的文件名,mode表示打开状态的字符串,其取值如下表
字符串 含义
"r" 以只读方式打开文件
"w" 以只写方式打开文件
"a" 以追加方式打开文件
"r+" 以读/写方式打开文件,如无文件出错
"w+" 以读/写方式打开文件,


相关文档:

C_使用for循环画菱形

 源码:
# include <stdio.h>
 
int main()
{
    int i, j, k;
     
    /* 变量i从0到4,表示所画菱形图的第一至第五行 */
    for(i = 0; i <= 4; i++)
    {
        /* ......

C_运用do

 源码:
# include <math.h>
# include <stdio.h>    /* 数学函数库 */
 
int main()
{
    /* 用s表示多项式的值,用t表示每一项的值 */
    double s, t, x; // 此处用双精度声明变量
    int n;
    printf ......

C_使用一维数组实现选择排序法

 源码:
/* 使用选择法排序 */
# include <stdio.h>
 
int main()
{
    int i, j, min, temp;
    /* 定义一个整型的一维数组 */
    int array[10];
    /* 输入数据 */
    printf("Please input ten integ ......

C_定义字符型二维数组实现简单的编辑器

 源码:
# include <stdio.h>
/* 宏定义 */
# define MAX 100
# define LEN 80
 
/* 一个非常简单的文本编辑器 */
int main()
{
    char text[MAX][LEN];  // 定义字符型数组
    register int t, i, j;    /* 定义三个寄存器变量 */
  ......

C_各种数组的初始化实例

 源码:
# include <stdio.h>
 
int main()
{
    /* 有尺寸 */
    /* 一维整形数组初始化 */
    int  array1[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
 
    /* 一维字符型数组初始化,最后一个元素自动添加为‘/0 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号