zoukankan      html  css  js  c++  java
  • c语言的fopen

    c语言fopen函数

    fopen函数用来打开一个文件,其调用的一般形式为:
    文件指针名=fopen(文件名,使用文件方式);
    其中,
    文件指针名”必须是被说明为FILE 类型的指针变量
    “文件名”是被打开文件的文件名;
    “使用文件方式”是指文件的类型和操作要求。
    “文件名”是字符串常量或字符串数组
    例如:
    FILE *fp;
    fp=fopen("file a","r");
    其意义是在当前目录下打开文件file a,只允许进行“读”操作,并使fp指向该文件。
    又如:
    FILE *fphzk
    fphzk=fopen("c:\hzk16","rb");
    其意义是打开C驱动器磁盘的根目录下的文件hzk16,这是一个二进制文件,只允许按二进制方式进行读操作。两个反斜线“\ ”中的第一个表示转义字符,第二个表示根目录。
    使用文件的方式共有12种,下面给出了它们的符号和意义。
    文件使用方式
    意义
    "r"
    打开一个用于读取的文本文件
    "w"
    创建一个用于写入的文本文件
    "a"
    附加到一个文本文件
    "rb"
    打开一个用于读取的二进制文件
    "wb"
    创建一个用于写入的二进制文件
    "ab"
    附加到一个二进制文件
    "r+"
    打开一个用于读/写的文本文件
    "w+"
    创建一个用于读/写的文本文件
    "a+"
    打开一个用于读/写的文本文件
    “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(binary): 二进制文件
    +: 读和写
    2) 凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。
    3) 用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。
    4) 若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件。但此时该文件必须是存在的,否则将会出错。
    5) 在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。因此常用以下程序段打开文件:
    6) if((fp=fopen("c:\hzk16","rb"))==NULL)
    {
    printf(" error on open c:\hzk16 file!");
    getch();
    exit(1);
    }
    这段程序的意义是,如果返回的指针为 空,表示不能打开C盘根目录下的hzk16文件,则给出提示信息“error on open c: hzk16 file!”,下一行getch()的功能是从键盘输入一个字符,但不在屏幕上显示。在这里,该行的作用是等待,只有当用户从键盘敲任一键时,程序才继续 执行,因此用户可利用这个等待时间阅读出错提示。敲键后执行exit(1)退出程序。
    7) 把一个文本文件读入内存时,要将ASCII码转换成二进制码,而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码,因此文本文件的读写要花费较多的转换时间。对二进制文件的读写不存在这种转换。
    8) 标准输入文件(键盘),标准输出文件(显示器),标准出错输出(出错信息)是由系统打开的,可直接使用。
  • 相关阅读:
    1026 Table Tennis (30)
    1029 Median
    1025 PAT Ranking (25)
    1017 Queueing at Bank (25)
    1014 Waiting in Line (30)
    1057 Stack (30)
    1010 Radix (25)
    1008 Elevator (20)
    字母大小写转换
    Nmap的基础知识
  • 原文地址:https://www.cnblogs.com/dragon2012/p/3144151.html
Copyright © 2011-2022 走看看