C文件指针小例

来源:互联网 发布:淘宝店铺营销推广 编辑:程序博客网 时间:2024/06/05 22:30

使用文件的方式共有12种,下面给出了它们的符号和意义。 

文件使用方式        意 义
“rt”      只读打开一个文本文件,只允许读数据 
“wt”      只写打开或建立一个文本文件,只允许写数据
“at”      追加打开一个文本文件,并在文件末尾写数据
“rb”      只读打开一个二进制文件,只允许读数据
“wb”       只写打开或建立一个二进制文件,只允许写数据
“ab”       追加打开一个二进制文件,并在文件末尾写数据
“rt+”      读写打开一个文本文件,允许读和写
“wt+”      读写打开或建立一个文本文件,允许读写
“at+”      读写打开一个文本文件,允许读,或在文件末追加数 据
“rb+”      读写打开一个二进制文件,允许读和写 
“wb+”      读写打开或建立一个二进制文件,允许读和写
“ab+”      读写打开一个二进制文件,允许读,或在文件末追加数据

对于文件使用方式有以下几点说明:

1. 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 读
w(write): 写
a(append): 追加
t(text): 文本文件,可省略不写
b(banary): 二进制文件
+: 读和写


简单样例代码:

#include <stdio.h>#include<stdlib.h>int main(){FILE *fp;char ch;scanf("%c", &ch);//打开/*带后缀+则都可以为读写;带后缀b全变二进制文件;r,只读,文本,不存在则出错;w,只写,文本,不存在则新建文件;a,尾部追加,文本,不存在则出错;*///顺序写if ((fp=fopen("test.txt","w+"))==NULL){printf("文件写未打开\n");exit(0);}while (ch != '0')//遇到0,回车结束{fputc(ch, fp);//写ch = getchar();}//关闭fclose(fp);//用一次就要关一次!连着下面用会出错的printf("文件已关闭\n");//顺序读if ((fp = fopen("test.txt", "r+")) == NULL)//fopen("test","r+")返回值是指向文件的指针{printf("文件读未打开\n");exit(0);}while (!feof(fp)){ch = fgetc(fp);//读putchar(ch);//显示}//关闭fclose(fp);printf("文件已关闭\n");return 0;}


feof(file stream )文件指针到达文件末尾!feof(fp) 表示没有到达末尾注意:这个末尾是最后一个字符的下一个位置

在C语言中提供了多种文件读写的函数: 
·字符读写函数 :fgetc和fputc
·字符串读写函数:fgets和fputs
·数据块读写函数:freed和fwrite
·格式化读写函数:fscanf和fprinf


字符读写函数fgetc和fputc

一、读字符函数fgetc

  fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为: 字符变量=fgetc(文件指针); 例如:ch=fgetc(fp);其意义是从打开的文件fp中读取一个字符并送入ch中。

二、写字符函数fputc

  fputc函数的功能是把一个字符写入指定的文件中,函数调用的 形式为: fputc(字符量,文件指针); 其中,待写入的字符量可以是字符常量或变量,例如:fputc('a',fp);其意义是把字符a写入fp所指向的文件中。


字符串读写函数fgets和fputs

一、读字符串函数fgets

函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针); 其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志' '。例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入字符数组str中。

二、写字符串函数fputs

fputs函数的功能是向指定的文件写入一个字符串,其调用形式为: fputs(字符串,文件指针) 其中字符串可以是字符串常量,也可以是字符数组名, 或指针 变量,例如:fputs(“abcd“,fp);其意义是把字符串“abcd”写入fp所指的文件之中。




大部分说明来自http://www.cnblogs.com/lxy2015/p/5302365.html

原创粉丝点击