1. /*
  2. 文件的几种操作模式: r:只读   w:只写   rw:可读可写
  3. 文件的分类: t:文本文件(字符文件)   b:二进制文件(字节文件)
  4. 注意:
  5. 采用只读方式打开文件时,如果源文件不存在,打开文件会失败!
  6. 采用只写方式打开文件时,不管源文件存不存在,都不会失败。(因为会自动创建一个文件)
  7. 采用可读可写方式打开文件时,都会成功。
  8. */
  9. #include<stdio.h>
  10. int main()
  11. {
  12. //定义文件指针
  13. FILE *fpin = NULL;
  14. FILE *fpout = NULL;
  15. //打开写文件
  16. fpin = fopen("1.txt","wt");
  17. if(fpin==NULL)
  18. {
  19. printf("文件打开失败!\n");
  20. return -1;
  21. }
  22. //文件写入
  23. char cs;
  24. while((cs = getchar())!='Q')
  25. {
  26. fputc(cs,fpin);
  27. }
  28. //文件关闭
  29. fclose(fpin);
  30. //打开读文件
  31. fpout = fopen("1.txt","rt");
  32. if(fpout==NULL)
  33. {
  34. printf("文件打开失败!\n");
  35. return -1;
  36. }
  37. //文件读取
  38. while(!feof(fpout))
  39. {
  40. //字符方式读文件
  41. char cc = fgetc(fpout);
  42. //用独处的字符和EOF进行比较来决定是否读到文件尾部
  43. if(cc==EOF)
  44. {
  45. break;
  46. }
  47. //输出字符
  48. putchar(cc);
  49. }
  50. //文件关闭
  51. fclose(fpout);
  52. return 0;
  53. }

C语言:用字符读取流和输出流来读写入数据。(文本文件)的更多相关文章

  1. C语言:字符串读取流读取文件中的数据

    #include<stdio.h> int main() { //定义文件指针 FILE *f = NULL; //打开文件 f = fopen("1.txt",&qu ...

  2. 2、FileOutputStream--->文件输出流(向文件写入数据)

    Api介绍 定义 FileOutputStream 用于写入诸如图像数据之类的原始字节的流.要写入字符流,请考虑使用 FileWriter. 构造方法 FileOutputStream(File fi ...

  3. Java基础知识强化之IO流笔记18:FileOutputStream写入数据

    1. 创建字节输出流对象,做了几件事情: (1)调用系统功能去创建文件(2)创建fos对象(3)把fos对象指向这个文件 2. 代码示例: package com.himi.fileoutputstr ...

  4. spark读取hdfs上的文件和写入数据到hdfs上面

    def main(args: Array[String]): Unit = { val conf = new SparkConf() conf.set("spark.master" ...

  5. C语言:使用命令行参数用字符串读取流和输出流进行文本文件的复制

    #include<stdio.h> int main(int argc,char *argv[]) { //检查用户的参数是否正确 if(argc<3) { printf(" ...

  6. IO流输入 输出流 字符字节流

    一.流 1.流的概念 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. ...

  7. Java精选笔记_IO流(字符输入输出流、字符文件输入输出流、字符流的缓冲区)

    字符流 Reader是字符输入流的基类,用于从某个源设备读取字符 Writer是字符输出流,用于向某个目标设备写入字符 字符流操作文件 字符输入流FileReader,通过此流可以从关联的文件中读取一 ...

  8. Java IO输入输出流 字符数组流 ByteArrayOutputStream/ByteArrayInputStream

    private static void StringWriterAndReader() throws Exception { //字符串流(字符串的内存流) //字符串输入流 StringWriter ...

  9. javaSE中的输入输出流---一个读取流,相应多个输出流。并且生成的碎片文件都有有序的编号

    <span style="font-size:18px;">package com.io.other.split; import java.io.File; impor ...

随机推荐

  1. linux服务开机启动

    1.chkconfig 配置开机启动 在  /etc/init.d  创建执行服务的可执行脚本,赋予脚本可执行权限.如果是通过yum 或者rpm安装的,并且已经在该目录下存在对应的启动脚本,就不用自己 ...

  2. sql中循环插入

    #!/bin/sh for i in {1..10}dokdsql sys/kdb<<EOF insert into test values(2) ; EOFdone

  3. 黑马程序员_java基础笔记(04)...多线程

    ——————————ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— 多线程.第一重点:创建线程的两种方式.第二重点:同步的所有特性      进程:正在执 ...

  4. nginx一些细节知识点补充

    1.upstream 配置代理 upstream local_tomcat { server localhost:8080; } server{ location / { proxy_pass htt ...

  5. 最短路算法 -- SPFA模板

    一.算法步骤 建立一个队列,初始时队列里只有起始点,再建立一个数组记录起始点到所有点的最短路径(该数组的初始值要赋为极大值,该点到它本身的路径赋为0,下面的模板中该数组为dist[]).然后执行松弛操 ...

  6. thinkphp在某种方法之前与之后执行的方法

    在thinkphp中有两个方法可以在某个方法之前或之后执行,分别是_before_xxx() 和_after_xxx()两个方法 1 2 3 4 5 6 public function _before ...

  7. 基于Laravel开发博客应用系列 —— 构建博客后台管理系统

    一个完整的博客应用不能没有后台管理系统.所以在本节中我们将继续完善博客应用 —— 开发后台管理系统. 1.创建路由 在上一节十分钟创建博客项目中,已经设置过了 app/Http/routes.php, ...

  8. eclipse 设置文本模板

    1.开打点击Windows选择Prederences选项卡 2.弹出窗口,选择Java选项卡下的Code Style选项卡 3.选择Code Templates选项卡 打开Code选择,选择New J ...

  9. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...

  10. [51Nod 1773] A国的贸易

    [51Nod 1773] A国的贸易 题目描述 A国是一个神奇的国家. 这个国家有 2n 个城市,每个城市都有一个独一无二的编号 ,编号范围为0~2n-1. A国的神奇体现在,他们有着神奇的贸易规则. ...