C语言的文件读取与写入操作
学了一年的C语言了,现在回过头来做一下总结。并且博客开了挺长一段时间却没有谢什么实际的东西。现在做下总结,对之后的学习帮助应该挺大的。与大家共勉!
现在,我先来介绍一下C语言的文件读取与写入的原理和具体操作方法。
C语言文件读取与写入是通过将文件看成一个字符序列进行读入和写出的。所以读取与写入文件就用到了指针,而这个指针是一个特殊的指针,我们称为文件指针。
指针名称是:FILE
对指针进行的文件打开操作是fopen。
引用百度百科对fopen这个函数进行介绍
函数简介
接下来我就通过实例来给大家一个直观的了解
#include<stdio.h>
int main()
{
FILE *fp=NULL;
char ch;
//打开文件
fp = fopen("C:\\Users\\Administrator\\Desktop","r");
//第一个双引号里面放的是文件具体路径,第二个是对文件进行的操作
//判断文件是否成功打开
if(fp==NULL)
{
printf("文件打开失败");
return 0;
} //如果文件能成功打开,函数返回值不为NULL
ch=getc(fp); //对文件内容进行字符读取
while(ch!=EOF) //EOF可以看做是文件结尾,值可以看做-1
//换种方式可以用
//while(!feof(fp))
{
ch = getc(fp)
putchar(ch);
}
//关闭文件
fclose(fp);
return 0;
}
//模拟文件读写操作
#include<stdio.h>
char mygetc(char *);
int i=0;
int main()
{
char *fp="ilovec";
char ch=0;
ch=mygetc(fp);
while(ch!='\0')
{
putchar(ch);
ch=mygetc(fp);
// putchar(mygetc(fp));
}
return 0;
}
char mygetc(char *c)
{
return *(c+i++);
}
//用fgets读出文件
#include<stdio.h>
int main()
{
FILE *fp=NULL;
char str[100]={0};
//打开文件
fp = fopen("C:\\Users\\Administrator\\Desktop","r");
//第一个双引号里面放的是文件具体路径,第二个是对文件进行的操作
//判断文件是否成功打开
if(fp==NULL)
{
printf("文件打开失败");
return 0;
} //如果文件能成功打开,函数返回值不为NULL
fgets(str,100,fp);
printf("%s",str);
//关闭文件
fclose(fp);
return 0;
}
#include<stdio.h>
int main()
{
FILE *fp=NULL;
char str[100]={0};
//打开文件
fp = fopen("C:\\Users\\Administrator\\Desktop","r");
//第一个双引号里面放的是文件具体路径,第二个是对文件进行的操作
//判断文件是否成功打开
if(fp==NULL)
{
printf("文件打开失败");
return 0;
} //如果文件能成功打开,函数返回值不为NULL
while(!feof)
{
strnset(str,'\0',100); //可以不用
printf("%s",fgets(str,100,fp));
}
//关闭文件
fclose(fp);
return 0;
}
//文件写入
#include<stdio.h>
int main()
{
FILE *fp=NULL;
char ch;
//打开文件
fp = fopen("C:\\Users\\Administrator\\Desktop","w"); //w是对文件进行写操作
//第一个双引号里面放的是文件具体路径,第二个是对文件进行的操作
//判断文件是否成功打开
if(fp==NULL)
{
printf("文件打开失败");
return 0;
} //如果文件能成功打开,函数返回值不为NULL
fputs("字符串内容",fp);
//关闭文件
fclose(fp);
return 0;
}
补充内容:
用stdin和stdout重定向输入输出流
具体用法比较简单
fopen("文件路径","r",stdin);
fopen("文件路径","w",stdout);
要放输入输出语句前面
C语言的文件读取与写入操作相关推荐
- Verilog中testbench的设计,文件读取和写入操作
1. 激励的产生 对于 testbench 而言,端口应当和被测试的 module 一一对应. 端口分为 input,output 和 inout 类型产生激励信号的时候, input 对应的端口应当 ...
- testbench的设计 文件读取和写入操作 源代码
十大基本功之 testbench 1. 激励的产生 对于 testbench 而言,端口应当和被测试的 module 一一对应. 端口分为 input,output 和 inout 类型产生激励信号的 ...
- python对文件的读操作有哪些方法-Python中文件的读取和写入操作
从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...
- python对文件的读操作方法有哪些-Python中文件的读取和写入操作
从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...
- java创建读取文件_Java实现文件的创建、读取、写入操作-Fun言
在日常的开发中,对文件的操作经常会有,所以今天教大家其中一种使用Java实现文件的创建.读取.写入操作 创建文件String filenameTemp = "D:\demo.txt" ...
- c语言文件读取与写入
fopen的介绍转自百度百科:https://baike.baidu.com/item/fopen/10942321?fr=aladdin 函数原型: FILE * fopen(const char ...
- xml 和android脚本之家,Android利用Document实现xml读取和写入操作
本文实例为大家分享了利用Document实现xml读取和写入操作,供大家参考,具体内容如下 首先先来介绍一下什么xml?xml是可扩展标记语言,他可以用来标记数据,定义数据类型.是一种允许用户对自己标 ...
- vivado仿真 文件读取和写入
vivado仿真 文件读取和写入 读取文件 首先创建一个TXT文件. $readmemb和$readmemh用来从文件中读取数据到存储器中.其中readmemb要求每个数字是二进制数,readmemh ...
- c#大文件读取和写入数据库
c#大文件读取和写入数据库(带进度条的源代码) 最近一个项目需要将大文件写入和读取到数据库,觉得可能很多人也需要相关得东西,所以就将代码帖出来 protected int state = 0; //表 ...
最新文章
- Windows Phone开发(18):变形金刚第九季——变换
- linux 卸载aria2,Linux Mint 19下安装aria2的过程完整总结
- 基于zookeeper实现的分布式锁
- 自制“低奢内”CSS3注册表单,包含JS验证哦。请别嫌弃,好吗?。
- Hibernate注释大全
- 笨办法学 Python · 续 练习 24:URL 快速路由
- Hadoop1.0.4单节点StandAlone及Pseudo-Distributed部署方法
- 内存泄露和溢出的区别_Java 中的内存溢出和内存泄露是什么?我给你举个有味道的例子?...
- 新技能,利用Reflector来修改dll引用
- 陶哲轩实分析 命题7.2.5 证明
- Microsoft Endpoint Protection for Windows Azure客户技术预览版可供免费下载
- Financial knowledge
- python处理xps文件,从XPS文档中提取文本
- linux shell 内存利用率,linux上使用shell脚本查看内存使用率
- 【校招VIP】产品思维考察之如何做市场分析
- 举例说明神经网络在人工智能的应用
- 婚宴座位图html5,婚礼酒席座位该怎么安排好?婚宴座位安排图解
- python代码能做成软件步骤与异常情况mac
- mysql dbi dbd_安装DBI和DBD包
- excel作图如何取最近一段时间的数据
热门文章
- 对齐次线性方程组同解充要条件的新理解
- Java-List集合元素筛选
- js中在另一个页面打开ppt、word
- 9.6 矩阵的条件数
- CycleGan人脸转为漫画脸,牛掰的知识又增加了!| 附代码
- Centos7安装mysql-5.7.18-1.el7.x86_64.rpm-bundle.tarCentos7安装mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
- android 虚拟键盘高度,获取Android中虚拟键盘的高度
- python水位传感器输出水位_水位传感器坏了的表现_判断水位传感器好坏方法
- 考上好大学,然后进入IT行业是穷人孩子晋级中产的唯一出路?
- 消息中间件架构面面观