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. Just a Hook (线段树)

    给你n个数(初始时每个数的值为1),m个操作,每个操作把区间[l,r]里的数更新为c,问最后这n个数的和是多少. 区域更新用懒惰标记 #include<bits/stdc++.h> usi ...

  2. elementUI 学习入门之 Select 选择器

    Select 选择器 基础用法 <el-select v-model="val1" placeholder="请输入"> <el-option ...

  3. Anaconda 安装好了,却无法运行?

    使用管理员运行:conda prompt 或者 Windows PowerShell 执行命令 conda update anaconda-navigator 还是不行就试试命令: anaconda- ...

  4. Socket 编程之 TCP 实现

    前几天介绍了计算机网络的一些概念,并介绍了几个协议.下面就说说 Java 中的 Socket 编程,服务器和客户端是如何通信的呢? 首先要介绍一下 Socket ,我们知道在 TCP/IP 协议簇中, ...

  5. 获取类的属性并排除特定属性(getType().GetProperties())

    当获取一个类型(class)的所有属性时,想排除指定属性,该如何操作? 比如:EF中一个实体类型UserEntity,通过反射获取这个类的属性时,想排除这个为映射的字段ID 使用以下方法即可! Pro ...

  6. Linux-数据库4

    存储引擎 什么是存储引擎? mysql中建的库是文件夹,建的表是文件.文件有不同的类型,数据库中的表也有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎. 存储引擎说白了 ...

  7. php开启memcache扩展

    1.下载memcache.dll(php7)https://github.com/nono303/PHP7-memcahe-dll/tree/master 2.将dll文件放到php7/ext目录下 ...

  8. CF912D Fishes 期望 + 贪心

    有趣的水题 由期望的线性性质,全局期望 = 每个格子的期望之和 由于权值一样,我们优先选概率大的点就好了 用一些数据结构来维护就好了 复杂度$O(k \log n)$ #include <set ...

  9. [HDU6155]Subsequence Count

    题目大意: 给定一个01序列,支持以下两种操作: 1.区间反转: 2.区间求不同的子序列数量. 思路: 首先我们考虑区间反转,这是一个经典的线段树操作. 接下来考虑求不同的子序列数量,在已知当前区间的 ...

  10. 网站(Web)压测工具Webbench源码分析

    一.我与webbench二三事 Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能.Webbench ...