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[],后输入总字符串的个数。(包含最后的数字。)

 #include <stdio.h>
#include <stdlib.h> int main(int argc, char* argv[])
{
int a = ;//直接初始化为1,不考虑错误处理等情况,下同。
int ch; //获取字符
FILE* fp = NULL;//文件流指针
//循环读取通过命令行输入的文件,并输出。
while( ( (fp=fopen(argv[a],"r")) != NULL) && (a < argc))
{
//判断是否到达文件结尾
while((ch = fgetc(fp)) !=EOF )
{
//putchar(ch);
printf("%c",ch);
}
//下一个文件
a++;
//关闭文件
fclose(fp);
//打一个换行,隔开文件。
printf("\n");
}
}

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

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

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

C语言文件操作的更多相关文章

  1. go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )

    go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...

  2. C 语言文件操作

    C 语言文件操作 1. 数据流:     程序与数据的交互以流的形式进行.fopen 即打开数据流,fclose 即刷新数据流.     所谓数据流,是一种抽象,表示这段数据像流一样,需要逐步接收,不 ...

  3. C语言文件操作函数

    C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...

  4. C语言文件操作解析(五)之EOF解析(转载)

      C语言文件操作解析(五)之EOF解析 在C语言中,有个符号大家都应该很熟悉,那就是EOF(End of File),即文件结束符.但是很多时候对这个理解并不是很清楚,导致在写代码的时候经常出错,特 ...

  5. 【转】C语言文件操作解析(三)

    原文网址:http://www.cnblogs.com/dolphin0520/archive/2011/10/07/2200454.html C语言文件操作解析(三) 在前面已经讨论了文件打开操作, ...

  6. C语言文件操作函数大全(超详细)

    C语言文件操作函数大全(超详细) 作者: 字体:[增加 减小] 类型:转载 本篇文章是对C语言中的文件操作函数进行了详细的总结分析,需要的朋友参考下   fopen(打开文件)相关函数 open,fc ...

  7. C语言文件操作 FILE结构体

    内存中的数据都是暂时的,当程序结束时,它们都将丢失.为了永久性的保存大量的数据,C语言提供了对文件的操作. 1.文件和流 C将每个文件简单地作为顺序字节流(如下图).每个文件用文件结束符结束,或者在特 ...

  8. C语言文件操作相关函数

    在实际应用中,我们往往需要对文件进行操作,下面我将介绍C语言的一些关于操作文件的函数. 一.计算机文件 计算机文件是以计算机硬盘为载体存储在计算机上的信息集合,是存储在某种长期储存设备上的一段数据流. ...

  9. 关于C语言文件操作

    关于C语言的文件操作之前我也写过一篇博客来介绍,但是当时写的很不全面,只是简单的使用了一下 ,今天再从新学习一下. 1.文件的写 首先还是先看一个简单的例子: include<stdio.h&g ...

随机推荐

  1. C#------如何取出exe运行文件给客户使用

    1.将解决方案配置里面的“Debug”转换成“Release” 2.右击“解决方案”,选着“重新生成解决方案”,以得到最新的版本 3.找到工程目录下的“bin”文件夹,里面有“Release”文件夹, ...

  2. 多日期选择jQuery插件 MultiDatesPicker for jQuery UI

    Multiple-Dates-Picker-for-jQuery-UI是一个多日期选择的jquery控件.   GIT源码: https://github.com/dubrox/Multiple-Da ...

  3. MySQL学习笔记——增删改查

    有关数据库的DML操作 -insert into -delete.truncate -update -select -条件查询 -查询排序 -聚合函数 -分组查询 DROP.TRUNCATE.DELE ...

  4. ES6标准

    1. ES6标准感觉越来越向传统语言靠拢了,以后写到ES6的标准都记录下: ,,]; // =>操作符 array.forEach(v => console.log(v)); 是不是简化了 ...

  5. 分布式消息队列RocketMQ部署

    一.RocketMQ简介: RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: 1.支持严格的消息顺序: 2.支持Topic与Queue两种模式: 3.亿级消息堆积能力: 4.比较友好 ...

  6. tamper绕WAF详解

    0x00 背景 sqlmap中的tamper脚本来对目标进行更高效的攻击. 由于乌云知识库少了sqlmap-tamper 收集一下,方便学习. 根据sqlmap中的tamper脚本可以学习过绕过一些技 ...

  7. Yii2 前台用户与后台用户分离

    1.将common/models/User.php在当前目录下copy一份,命名为Admin.php,修改类的名称为Admin 2.将common/models/LoginForm.php复制到bac ...

  8. NancyFx中使用自带的IOC容器

    /// <summary> /// Cors扩展 /// </summary> public static class IPipelinesExtensions { /// & ...

  9. .NET Framework源码查看及下载

    一.资源 1.http://referencesource.microsoft.com/ 二.备注 1.可在线预览.Net Framework 4.6.1源码实现

  10. Jetty多Connector

    有时候想要启动两个端口,或者通过一个Jetty server提供多个不同服务,比如说使用8080来指定默认访问端口,使用8433指定https访问端口等等,此时就可以通过创建多个Connector来解 ...