typedef struct
{
int level; /*填充/清空一级缓存*/
unsigned flag; /*文件状态指针*/
char fd; /*文件描述符*/
unsigned char hold; /*ungetc char if no buffer*/
int bsize; /*缓存区大小*/
unsigned char *buffer; /*数据缓冲区*/
unsigned char *curp; /*当前活动指针*/
unsigned istemp; /*临时文件指示器*/
short token; /*用于有效性检查*/
}file;
打开文件fopen函数 文件指针名=fopen(文件名,使用文件方式)
eg:
file *fp; //文件指针
fp=("file a","r"); //以只读方式打开hzk16
打开方式有:
描述符 | 意义 |
---|---|
“rt” | 只读打开一个文本文件,只允许读数据 |
“wt” | 只写打开或建立一个文本文件,只允许写数据 |
“at” | 追加打开一个文本文件,并在文件末尾写数据 |
“rb” | 只读打开一个二进制文件,只允许读数据 |
“wb” | 只写打开或建立一个二进制文件,只允许写数据 |
“ab” | 追加打开一个二进制文件,并在文件末尾写数据 |
“rt+” | 读写打开一个文本文件,允许读和写 |
“wt+” | 读写打开或建立一个文本文件,允许读写 |
“at+” | 读写打开一个文本文件,允许读,或在文件末追加数 据 |
“rb+” | 读写打开一个二进制文件,允许读和写 |
“wb+” | 读写打开或建立一个二进制文件,允许读和写 |
“ab+” | 读写打开一个二进制文件,允许读,或在文件末追加数据 |
fopen若过出错则,返回一个NulL可以用作错误异常处理的判断条件;
fclose函数用于关闭当前文件 fclose(file*);返回值为0表示正确,非零错误。
文件读写 *** 作:·字符读写函数 :@R_502_6345@c和fputc ·
字符串读写函数:@R_502_6345@s和fputs ·
数据块读写函数:freed和fwrite ·
格式化读写函数:fscanf和fprinf
@R_502_6345@c(FILR*) 与 fputc(const char,file*) / fputc(char,file*):@R_502_6345@c每次在文件中读一个字节,每读一次,文件内的字符指针往后挪一位,可多次重复使用依次读出文件内容。
fput函数每次写入一个字符,每写一次文件内指针向后挪动一位,可多这次连续使用,依此写入。
@R_502_6345@s(char* buf,int n,file*)与fputs(char* buf,file*):从文件中读出 n-1 个字符放入buf中
fputs将字符串写入文件中
fread(cahr* buf,int size,int count,file* fp)与fwrite(char* buf,file* fp)fread 从fp中读入conut个size长度的字符串到buf中
fwirte从buf中读出count个size个长度的字符串到fp中
fscanf(file*,格式,列表)和 fprintf(file*,列表)eg:
fprintf(fp,"%s %d %d %s",pp->name,pp->num,pp->age,pp->addr);
?
fscanf(fp,qq->name,&qq->num,&qq->age,qq->addr);
rewind(file*) 将文件内部指针移到文件首
fseek(file* fp,int count,int startpoint)fp 文件指针
count 位移量,表示从startpoint开始计算位移量
startpoint有三种形式:
起始点 | 表示符 | 值 |
---|---|---|
首 | SEEK—SET | 0 |
当前 | SSEEK-CUR | 1 |
尾 | SSEEK-END | 2 |
stdin 0 标准输入
stdout 1 标准输出
stderr 2 标准错误
_IONBF 无缓冲
_IolBF 行缓冲
_IOFBF 全缓冲
_IO_liNE_BUF 行缓冲
_IO_UNBUFFERED 无缓冲
对IO普通文件 *** 作整理,有错误请指出;
参考:http://www.cnblogs.com/whiteyun/archive/2009/08/08/1541822.html
总结以上是内存溢出为你收集整理的Linux下普通IO文件 *** 作函数---C语言全部内容,希望文章能够帮你解决Linux下普通IO文件 *** 作函数---C语言所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)