【转】FILE *fp fopen 参数

来源:互联网 发布:spss20软件怎么安装 编辑:程序博客网 时间:2024/05/17 04:28

【转】FILE *fp fopen 参数



"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) 二进制文件 
+ 读和写 

2.凡用"r"打开一个文件时,该文件必须存在,且只能从该文件读出 
3.用"w"打开的文件只能向该文件写入,若打开的文件不存在,则以指定的文件名 
建立该文件,若打开的文件已经存在,则将将删去该文件,重建一个新文件。 
4.若要向一个已存在文件追加新的信息,只能用"a"方式打开文件,但以时该文件必须是存在 
否则将会出错。 
5.在打一个文件时,如果出错,fopen将返回一个空指针值NULL,在程序中可以用这一个信息判别 
是否完成完成打开的文件工作,并作相庆的处理。 
   例如: 
        if((fp=fopen("path","r"))==NULL)   { 
    printf("Open file ERROR") 
       } 
6.把一个文本文件读入内存时,要将ASCII码车换成二进制码,而把文件以文件方式写入磁盘时,也 
要把二制码转换成ASCII码,因此文本文件的读写要花较多的转换时间。对二进制文件的读写不存在这种转换。 
7.标准的输入文件(键盘),标准输出文件,(显示器) 标准出错输出(出错信息)是由系统打开的,可真接使用关闭函数fclose()文件一旦使用完毕,应用关闭文件的函数把文件关闭。以免造成数据丢失等错误。 


字符读写函数 语法格式 
fgetc()读字符 
例: 
#include<stdio.h> 
    main() 

     FILE*fp; 
    char ch; 
    fp=fopen("c:\\12.txt" , "r"); 
    ch=fgetc(fp); 
printf("%c" ,ch): 
     } 

fputc()写字符 

#include<stdio.h> 
main() 

FILE*fp; 
char ch; 
if((fp=fopen("string","wt+"))==NULL) { 
printf("Cannot open file string any key exit!\n"); 
    getchar(); 
    exit(1); 
   } 
printf("input a string:\n"); 
   ch=getchar(); 
   while(ch!='\n') { 
   fputc(ch,fp); 
   ch=getchar(); 
     } 
rewind(fp); 
ch=fgetc(fp); 
while(ch!=EOF){ 
putchar(ch); 
ch=fgetc(fp); 

printf("\n"); 
fclose(fp); 
return 0; 



fgets()字符串 
fputs ()写字符串 
freed() 读数据块 
fwrite()写数据块 
fscanf()格式化读写函数 
fprintf()格式化写函数

0 0