zoukankan      html  css  js  c++  java
  • fopen 參数具体解释

    fopen

      fopen(打开文件)
      相关函数 openfclose
      表头文件 #include<stdio.h>
      定义函数 FILE * fopen(const char * path,const char * mode);
      函数说明 參数path字符串包括欲打开的文件路径及文件名称,參数mode字符串则代表着流形态。
      mode有下列几种形态字符串:
      r 打开仅仅读文件,该文件必须存在。
      r+ 打开可读写的文件,该文件必须存在。
      rb+ 读写打开一个二进制文件,仅仅同意读写数据。
      rt+ 读写打开一个文本文件,同意读和写。
      w 打开仅仅写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
      w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
      a 以附加的方式打开仅仅写文件。若文件不存在,则会建立该文件,假设文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
      a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,假设文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
      wb 仅仅写打开或新建一个二进制文件;仅仅同意写数据。
      wb+ 读写打开或建立一个二进制文件,同意读和写。
      wt+ 读写打开或着建立一个文本文件;同意读写。
      at+ 读写打开一个文本文件,同意读或在文本末追加数据。
      ab+ 读写打开一个二进制文件,同意读或在文件末追加数据。
      上述的形态字符串都能够再加一个b字符,如rb、w+b或ab+等组合,增加b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。只是在POSIX系统,包括Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会參考umask 值。
      返回值
      文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。
      附加说明
      一般而言,开文件后会作一些文件读取或写入的动作,若开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误推断及处理。
      【例程】
      #include <stdio.h>
      #include <stdlib.h> //为了使用exit()
      int main()
      {
      int ch;
      FILE* fp;
      char fname[50]; //用于存放文件名称
      printf("输入文件名称:");
      scanf("%s",fname);
      fp=fopen(fname,"r"); //仅仅供读取
      if(fp==NULL) //假设失败了
      {
      printf("错误!");
      exit(1); //中止程序
      }
      //getc()用于在打开文件里获取一个字符
      while((ch=getc(fp))!=EOF)
      putchar(ch);
      fclose(fp); //关闭文件
      return 0;
      }
  • 相关阅读:
    【校招面试 之 C/C++】第23题 C++ STL(五)之Set
    Cannot create an instance of OLE DB provider “OraOLEDB.Oracle” for linked server "xxxxxxx".
    Redhat Linux安装JDK 1.7
    ORA-10635: Invalid segment or tablespace type
    Symantec Backup Exec 2012 Agent for Linux 卸载
    Symantec Backup Exec 2012 Agent For Linux安装
    You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1
    YourSQLDba介绍
    PL/SQL重新编译包无反应
    MS SQL 监控数据/日志文件增长
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3986092.html
Copyright © 2011-2022 走看看