IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 磕CP系列(1)——文件的相关函数(c语言) -> 正文阅读

[C++知识库]磕CP系列(1)——文件的相关函数(c语言)

前言:在现在快餐式恋爱的状况下,磕CP已经成为很多宅男宅女的快乐,只有在我们的想象中,故事的结局才符合我们的心意。那么,现在,请带上你的瓜子,来和我一起磕磕文件中的CP函数吧。
请注意,磕错CP可是令人十分不爽的哦。

一:文件开关CP

文件打开函数,fopen()
文件关闭函数,fclose()

1.文件打开函数
<1>.函数原型:

FILE* fopen(char *filename,char *mode);
//解释如下:
1.功能:使用mode模式打开指定文件filename。
2.若打开文件成功,则返回一个FILE指针,若打开文件失败,
则返回NULL

<2>.关于mode的解释:

三种基本模式 两种文本模式 ‘+’

r(read):读模式;
w(write):写模式;
a(append):追加模式(其实我更喜欢将它理解成add,注意是在文件末尾追加写数据)
t(text):文本文件;
b(binary):二进制文件;
‘+’ :代表读和写。

可以参考一下下面的图:
在这里插入图片描述
<3>.注意:
——> 凡用"r"打开一个文件时,该文件必须已经存在,且只能从文件读出。
——> 凡用"w"打开的文件只能向该文件写入。
若打开的文件不存在,则会以指定文件名建立该文件。
若打开的文件已经存在,则将该文件删去,重建一个新文件。
——> 若要向一个已存在文件中追加信息,只能用“a”的方式打开文件。
若此时该文件不存在,则会新建一个文件。

2.文件关闭函数
<1>.函数原型

int  fclose(FILE *fp);
//解释说明
1.fp是文件指针
2.功能:将文件指针fp所指的文件关闭,
并将FILE文件的相关资源以及所占用的缓冲区归还给系统。
若返回0,则代表关闭成功;
若返回非0,则代表有错误发生。

<2>.注意:
——> 一个文件使用完毕后,若采用读取模式打开文件,可以不必做关闭文件的操作。
——> 若采用写入模式,一定要使用关闭函数。

3.那下来对这对CP做一个演示:

#include<stdio.h>


//fopen()函数的作用 
//若打开文件成功,则返回一个FILE指针,
//若打开文件失败,则返回NULL


int main()
{
	//创建一个文件指针; 
	FILE *fp;
	
	//将文件的地址赋给fp,以只读的方式打开文件; 
	
	fp=fopen("D:\\code\\1.txt.txt","r"); 
	
	//判断,显示结果
	//(判断条件很重要) 
	
	if(fp==NULL)
	printf("文件不存在");
	else
	printf("文件存在");
	
	//关闭文件。 
	fclose(fp);
} 

运行结果如下:
(说明一下,在这里,我的D盘code文件夹中存在着一个名为:1.txt的类型为:txt的文件,若不存在就会输出“文件不存在”)。在这里插入图片描述
==>感悟:
这感觉就像是抽盲盒,看看你盘里有没有你想要打开的文件。

幕布已落,开关CP退场,接下来让我们邀请下一对:
你想知道该文件占多少字节,那你就得问问他们。

二:文件长度CP
fileno()和filelength()

==>说明: 打开文件时,系统会赋予该文件一个文件描述字(一个号码),可以用此号码来代表所打开的文件。

1.fileno()获取文件描述字函数
<1>.函数原型:

int  fileno(FILE *fp)
功能:
返回所打开文件指针fp对应的文件描述字。

<2>.所在的头文件
#include<stdlib.h>

2.filelength()获取文件长度函数
<1>.函数原型:

long filelength(int handle_no)
功能:
返回文件描述字(handle_no)对应的文件大小。
以字节(byte)为单位。

<2>.所在头文件
#include<io.h>

3.功能演示:

#include<stdio.h>
#include<stdlib.h>
#include<io.h>

int main()
{
	FILE *fp;
	int fno,fnosize;
	//fno为文件描述字,fnosize为文件的长度 
	fp=fopen("D:\\code\\1.txt.txt","r");
	fno=fileno(fp);
	fnosize=filelength(fno);
	if(fp==NULL)
	printf("文件不存在");
	else
	printf("文件存在并且文件的长度为%d",fnosize);
	fclose(fp);
}

运行结果如下:

(先让大家看一下我文件的内容)
在这里插入图片描述
接下来是运行结果:
在这里插入图片描述
与文件的属性内容相对比如下:
在这里插入图片描述
可以看出我们的答案是正确的。

——>注意:(不知道你们有没有这样的问题)
当我的文件只有一个1时,我的文件长度是3,这大概是和一种名叫uft-8的编码方式有关。可以自己了解下。

主角退场,帷幕已落,这次的分享就到此结束了。再见!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:32:36  更:2021-12-11 15:33:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:37:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码