c语言中文件相关操作
一 .首先介绍一下数据文件的类型:
1.二进制文件(映像文件):在内存中以二进制形式存取。
2.文本文件(ascii文件):以ascii码形式存取的文件。
通俗的讲,在Mac下,你把一个文件丢进记事本里面,如果打开是乱码就是二进制文件。
二.其次是文件类型指针:
简单的说文件类型指针就是存储文件信息的地址。
文件类型指针变量:定义一个指针类型的变量,用来指向存储文件信息的地址。用FILE定义。比如: FILE * fp
三.文件操作步骤(c语言中所有用到的函数都是f开头的。):
1.打开文件 fopen()函数。fp=("文件名",“操作方法”)比如:fp=fopen("/user/wangdi/desktop/haha.txt","w")如下图(在Mac中将文件扔进终端就可以查看其文件路径。
2.读写文件(读取文件中字节。)
向文件写入信息用:
fputc()函数。一次写入一个字节。格式:fputc(数据的ascii码,文件流)。比如 fputc(97,fp).即是将97所对应的ascii码写入到fpz指向的文件中去。也就是把a写进去。如下图,利用循环讲字符串str中的字符串:12345写入文件:
从文件中读取信息:
fgetc(文件指针)。从文件中读取一个字节出来。注意:如果文件中是中文的话一次职能提取一个字节,所以提取出的是乱码。
如果用%d的形式提取出来是-1,表示文件结束,在实际开发中经常这么用:while((ch=fgetc(fp))!=-1){printf("%c",ch)}.如下图:
3.函数中用到的对文件的操作方法举例:
a: append的简写。追加文件:打开文件,光标移动到文件末尾,如果文件不存在则创建文件。
r.: read 的简写。 意思是读取文件:打开文件,如果文件不存在,则返回 null。
w: write 的简写,打开文件,文件存在则截断(清空文件),没有文件就创建文件。
a+,r+,w+等: 就是在原有的功能上加上可读可写的功能。这里不再一一介绍。
2.处理文件:使用函数往流中写数据,或者读取流中的数据。
3.关闭文件:fclose()函数。注意,程序中,每次调用函数都需要打开文件和关闭文件,也就是都需要用到fopen()和pclose()函数。
版权声明:本文为博主原创文章,未经博主允许不得转载。
c语言中文件相关操作的更多相关文章
- (C/C++学习)2.C语言中文件流操作基本函数总结
函数所在头文件:stdio.h 说明:前半部分主要为对各个文件流操作函数的例举,后半部分着重于上机运行分析.文中部分引用自王桂林老师的C/C++课件. 1.FIELE *fopen(const cha ...
- c语言中文件的操作
所谓“文件”是指一组相关数据的有序集合.这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等. 文件通常是驻留在外部 ...
- 理解CSV文件以及ABAP中的相关操作
在很多ABAP开发中,我们使用CSV文件,有时候,关于CSV文件本身的一些问题使人迷惑.它仅仅是一种被逗号分割的文本文档吗? 让我们先来看看接下来可能要处理的几个相关组件的词汇的语义. Separat ...
- Git基本命令 -- 基本工作流程 + 文件相关操作
可以先找一个已经被git管理的项目, 我就使用这个项目吧: https://github.com/solenovex/ID3-Editor 基本工作流程 克隆以后呢, 进入该目录查看一下状态: 然后添 ...
- python文件相关操作
Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中 ...
- c语言中条件编译相关的预编译指令
一. 内容概述 本文主要介绍c语言中条件编译相关的预编译指令,包括#define.#undef.#ifdef.#ifndef.#if.#elif.#else.#endif.defined. 二.条件编 ...
- C语言对文件的操作函数用法详解2
fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const ...
- C语言对文件的操作函数用法详解1
在ANSIC中,对文件的操作分为两种方式,即: 流式文件操作 I/O文件操作 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef str ...
- C语言中文件定位函数总结
C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos. 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int ...
随机推荐
- Linux系统下使用crontab添加计划任务的方法
在服务器中添加定期执行的任务,在很多情况下是非常必要的.比如,每天清理一次/tmp目录下的文件;没几分钟检查某一守护进程是否正常等等.这样计划任务就显得尤为方便.下面将介绍如何在Linux系统中 ...
- 64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法
原文地址:64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法 最近为使用Oracle11G数据库做个快速开发的小程序,使用64位Win2008+Vs2012环境,结果碰壁连环,幸好 ...
- slua 中使用 lua5.3
因为我们服务器极有可能要迁移到 skynet 上,它基于 lua5.3,而服务器和客户端会公用很多lua代码,所以在考虑在客户端 slua 中使用 lua5.3. 经过编译后,发现 slua 对 lu ...
- Java的MongoDB驱动及读写策略
网上看见一篇博文,详细讲了MongoDB读写策略,将来生产会遇到类似的问题,转来备查. 指定新mongo实例: Mongo m = new Mongo(); Mongo m = new Mongo( ...
- javascript如何监听页面刷新和页面关闭事件
本文转之http://www.qqtimezone.top 在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接.关闭页面.表单提交时等情况,会提示我们是否确认该操作等信息. 这里就给大家讲 ...
- hashCode与equals详解
在工作中写业务类通常都会重写hashCode与equals方法,而这两个方法的区别与用途也常常被问道.平时也只是大概知道这二者的用途,今天闲下来,查阅资料加上自己的理 解,总结记录下. hashCod ...
- MINA学习之IoService
从上一篇文章中知道,IoService出于MINA体系中的底层.IoService将会帮你维护网络交互,接受消息,发送消息,管理Sessions,管理连接Connections等等. IoServic ...
- SAP ABAP 程序调用FORM
*&---------------------------------------------------------------------* *& Report ZHAIM_FOR ...
- Android框架之网络开发框架Volley
1. Volley简单介绍 我们平时在开发Android应用的时候不可避免地都须要用到网络技术.而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进 ...
- Android TextView中有图片有文字混合排列
Android TextView中有图片有文字混合排列 1.使用html.fromHtml 2.新建ImageGetter 3.使用<img src>标签 demo: 1.设置文字 ((T ...