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;
  }

fopen 參数具体解释的更多相关文章

  1. 《转》Ceilometer Alarm API 參数具体解释 及 举例说明

    Ceilometer Alarm是H版新加入的功能,监控报警是云平台必不可少的部分,Ceilometer已经实现了比較完好的监控体系.报警怎么能缺少呢?用过AWS CloudWatch Alarm的人 ...

  2. RPM安装包-Spec文件參数具体解释与演示样例分析

    spec文件是整个RPM包建立过程的中心,它的作用就如同编译程序时的Makefile文件. 1.Spec文件參数 spec文件包括建立一个RPM包必需的信息,包括哪些文件是包的一部分以及它们安装在哪个 ...

  3. httpUrlConnection的參数具体解释

    post方式的的请求过程: // 设置是否向httpUrlConnection输出,由于这个是post请求,參数要放在 // http正文内,因此须要设为true, 默认情况下是false; http ...

  4. TVS參数具体解释及选型应用

    一.首先了解TVS管的參数,我们以littelfuse的5.0SMDJ系列为例. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGcybGg=/font/ ...

  5. C语言中的system函数參数具体解释

    http://blog.csdn.net/pipisorry/article/details/33024727 函数名: system 功   能: 发出一个DOS命令   用   法: int sy ...

  6. C语言中main函数的參数具体解释

    main函数的定义形式         main函数能够不带參数,也能够带參数,这个參数能够觉得是 main函数的形式參数.C语言规定main函数的參数仅仅能有两个,习惯上这两个參数写为argc和ar ...

  7. Linux定时器工具-crontab 各參数具体解释及怎样查看日志记录

    要使用crontab定时器工具,必需要启动cron服务: service cron start crontab的语法,以备日后救急.先上张超给力的图: crontab各參数说明: -e : 运行文字编 ...

  8. JSONObjectWithData方法里options參数选择解释

    NSJSONReadingMutableContainers  Specifies that arrays and dictionaries are created as mutable object ...

  9. mysql启动參数(/etc/my.cnf)具体解释汇总

    在linux以下的/etc/my.cnf的參数具体解释汇总 MYSQL–my.cnf配置中文具体解释 basedir = path   使用给定文件夹作为根文件夹(安装文件夹). character- ...

随机推荐

  1. Hadoop集群运行JNI程序

    要在Hadoop集群运行上运行JNI程序,首先要在单机上调试程序直到可以正确运行JNI程序,之后移植到Hadoop集群就是水到渠成的事情. Hadoop运行程序的方式是通过jar包,所以我们需要将所有 ...

  2. 使用java对sql server进行增删改查

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  3. js的水仙花数的输出

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. C/C++中的虚析构函数和私有析构函数的使用

    代码: #include <iostream> using namespace std; class A{ public: A(){ cout<<"construct ...

  5. BestCoder Round #36 (hdu5200)Strange Class(离线)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Trees Time Limit: 2000/1000 MS (Java/Othe ...

  6. Hibernate学习笔记(一):mycelipse建立项目流程(未完成)

    1.部署数据库: 2.部署项目: 3.引入Hibernate: 4.url配置

  7. SpringSource Tools Suite 字体偏小问题

    参照了Eclipse小技巧收录http://liuzidong.iteye.com/blog/1320094 发现没有找到相应文件,只有搜索了,一个一个地找,总算找到了,修改方法还是一样,只是路径,文 ...

  8. WinPython安装问题(pyzmq问题导致)

    最近yvivid安装WinPython-32bit-3.4.4.1, 安装后,运行spyder运行时出现如下错误, Traceback (most recent call last): File &q ...

  9. python学习第一天 -安装配置及其输入输出

    Python, 是一种面向对象.解释型计算机程序设计语言. python适合领域: 1.Web网络和各种网络服务 2.系统工具和脚本 3.作为“胶水”语言把其他语言开发的模块包装起来方便使用 pyth ...

  10. Python一路走来 面向对象1

    面向对象: 类,对象 函数放在类里,叫方法 封装 #如何调用 1. 创建对象, 类名() obj= Foo() 2. 通过对象去执行方法 obj.mail("leon@me.com" ...