zoukankan      html  css  js  c++  java
  • C语言文件操作

      C语言文件操作,以下以基本的例子和说明来展开怎么通过C语言来进行文件操作。

      操作文件,我们得需要知道什么?当然是路径文件名

      首先我需要知道我操作的文件在哪里,叫什么名字。在C语言中还存在一个打开方式的问题。是翻开?扭开?这里在后面一一介绍。

      1.打开文件

      函数:fopen

      函数原型:FILE* fopen(const char* path,const char* mode);

      返回的是一个文件指针。

      2.关闭文件

      函数:fclose

      函数原型:int fclose(FILE* stream);

      返回一个int型,这个就是告诉你该文件关闭成功与否。那么是不是有一个信息来表示文件打开成功与否?

      是的,很聪明。

      文件打开成功与否,当我们调用fopen去打开一个文件的时候,此时,将文件信息存入文本流中,如果成功便返回文件流指针,如果失败,就返回NULL。

      NULL这个东西永远都是那么特殊。

      3.读取一个字符

      如何去读取这个文件中的数据呢?

      在输入的时候有getchar()来获取输入,那么对于文件的获取有类似的。

      int fgetc(FILE* stream);

      如何判断一个文件到达最后了呢?很显然有个标志来标示文件的结束,即文件结束符-->EOF,如何记忆?End of file。你看全部是大写,是不是和宏很像?

      不错,它就是一个宏。至于值是多少,printf出来就知道了。

      4.输出一个字符

      当然,可以用printf("%c",a);的方式来输出。

      也可以采用putchar()的方式来输出。看自己喜好。

      那么以上文件的基本操作,汇聚在一个程序里面,可以这样来写。

      PS:此处用到命令行输入参数,不懂的这里可以介绍以下。

      main()函数的原型:

      int main(int argv,char* argv[]) //后面的当然想怎么写就怎么写,上面argv[][]等等,个人喜好。

      输入参数的时候,先输入argv[],后输入总字符串的个数。(包含最后的数字。)

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 int main(int argc, char* argv[])
     5 {
     6     int a = 1;//直接初始化为1,不考虑错误处理等情况,下同。
     7     int ch; //获取字符
     8     FILE* fp = NULL;//文件流指针
     9     //循环读取通过命令行输入的文件,并输出。
    10     while( ( (fp=fopen(argv[a],"r")) != NULL) && (a < argc))
    11     {
    12         //判断是否到达文件结尾
    13         while((ch = fgetc(fp)) !=EOF )
    14         {
    15             //putchar(ch);
    16             printf("%c",ch);
    17         }
    18         //下一个文件
    19         a++;
    20         //关闭文件
    21         fclose(fp);
    22         //打一个换行,隔开文件。
    23         printf("
    ");
    24     }
    25 }
    View Code

      以上的例子只是简单的文件操作,当然也是基础,当然减少了很多错误处理。

      同时,还有一些其他的接口。

      以上只是一个一个的输入,明显满足不了要求。那如何才能输入字符串呢?这是一个问题,首先将函数列举出来,然后再举出例子。 

  • 相关阅读:
    骑士飞行棋 C#代码详解
    C#中的static静态变量的用法
    Break和Continue的一些注意事项
    枚举类型
    html 01-认识Web和Web标准
    css 17-CSS3的常见边框汇总
    css 16-浏览器的兼容性问题
    css 15-Sass入门
    css 14-CSS3属性详解:Web字体
    css 13-CSS3属性:Flex布局图文详解
  • 原文地址:https://www.cnblogs.com/ply616/p/5122904.html
Copyright © 2011-2022 走看看