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

C/C++文件操作

c/C++文件操作
软件开发   2009-03-12 16:22   阅读18   评论0  
字号: 大大  中中  小小
基于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与C++中字符指针处理字符串

定义一个字符指针,其本质的处理方式是按字符数组处理的,在内存开辟一个字符数组用来存放字符串常量,这样必定会终止符。而这样的特性也仅对于字符指针变量。
在C语言中,通过数组名或者指针变量输出一个字符串,我理解为两个:字符串终止符的存在;以%s格式的输出方式。
char *p="I love china!";
   & ......

C++中extern “C”含义深层探索(在原作的基础上修改)


1.
引言
  C++
语言的创建初衷是“a
better C”
,但是这并不意味着C++
中类似C
语言的全局变量和函数所采用的编译和连接方式与C
语言完全相同。作为一种欲与C
兼容的语言,C++
保留了一部分过程 式语言的特点(被世人称为“
不彻底地面向对象”
),因而它可以定义不属于任何类的全局 ......

使用mex C生成MATLAB的股票数据分析接口

#include "mex.h"
#define DWORD long 
#define NUMBER_OF_STRUCTS (sizeof(friends)/sizeof(struct phonebook))
#define NUMBER_OF_FIELDS (sizeof(field_names)/sizeof(*field_names))
void mexFunction(int nlhs,
    mxArray * plhs[] , int nrhs,const mxArray * pahs[])
{
typedef struc ......

关于C/C++的位域

在C/C++中我们有时为了节省内存占用空间,需要使用到位域,如下所示代码:
struct SDummy
{
  int A : 2;
  int B : 8;
  int C : 12;
  int D : 10;
};
    在计算机内存昂贵的情况下,位域不乏为一种有效的节省内存占用空间又让代码书写比较通俗易懂的方法。但是在现今内存相 ......

C中malloc和free的原理 摘自techriver.cublog.cn

谈谈C语言的malloc()和free()
一、malloc()和free()的基本概念以及基本用法:
1、函数原型及说明:
void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。
关于分配失败的原因,应该有多种,比如说空间不足就是一种。
void free(void *Fir ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号