当前位置:首页 > C++知识 > 正文内容

C++读取磁盘文件

亿万年的星光3年前 (2021-12-04)C++知识3237

0.前言

简单介绍一下C++读取文件的基本操作。

关键技术:

freopen() 文件的打开函数

FILE *fp
fp=fopen(文件名,使用文件方式)

例如:
fp=fopen("123.txt","r");

它表示要打开名称为123的文本文档,使用文件方式为“只读”,fopen()函数带回指向123.txt文件的指针并赋给fp,也就是说fp指向123.txt文件。

文件使用方式含义
“r”(只读)打开一个文本文件,只允许读数据
“w”(只写)打开或建立一个文本文件,只允许写数据
“a”(追加)打开一个文本文件,并在文件末尾写数据
“fb”(只读)打开一个二进制文件,只允许读数据
“wb”(只写)打开或建立一个二进制文件,只允许写数据
“ab”(追加)打开一个二进制文件,并在文件末尾写数据
“r+”(读写)打开一个文本文件,允许读和写
“w+”(读写)打开或建立一个文本,允许读写
“a+”(读写)打开一个文件文件,允许读,或在文件末尾追加数据
“rb+”(读写)
打开一个二进制文件,允许读和写
“wb+”(读写)打开或建立一个二进制文件,允许读和写
“ab+”(读写)打开一个二进制文件,允许读,或在文件末尾追加数据
1.fclose()  文件的关闭函数

fclose(文件指针)   作用是通过指针将该文件 关闭

2.fgetc() 函数
ch=fgetc(fp)  该函数的作用是从指定的文件(fp指向的文件)读入一个字符赋给ch。注意该文件必须是以读或读写方式打开的。




参考代码

#include<iostream>
#include<cstdio> 
using namespace std;
int main(){
	FILE * fp;  //定义一个指向FILE类型结构体的指针变量
	char ch, filename[50];  //定义变量及数组为字符型
	cin>>filename; //输入文件所在路径及名称
	fp=fopen(filename,"r"); //以只读方式打开指定文件
	ch=fgetc(fp); // 读会一个字符赋给ch
	while(ch != EOF){ //当读入的字符值等于EOF时,结束循环 
		putchar(ch); //将读入的字符输出在屏幕上
		ch=fgetc(fp); //继续读入一个字符 
	} 
	fclose(fp); //关闭文件
	return 0; 
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

【题解】采药的最短路径

【题目描述】少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深处。迷阵由M×N个方格组成,有的方格内有...

C++中的溢出

一、编程中的溢出   溢出是C++语言中最常见的漏洞。最常见的溢出包括数组溢出、数溢出、缓冲区溢出、指针溢出以及栈溢出。二、数组溢出    ...

组合数的写法

前面我们写过 全排列和排列数 等。这篇文章。我们写一下组合数。例题:从n个数中,选出m个,一共有多少种不同的选法?这是一道典型的组合数公式。我们直接用dfs公式肯定会出现重复的。#include<...

【题解】小X玩游戏

【题目描述】小X喜欢玩游戏。  这天,小X觉得传统的游戏都玩腻了,自己随手在草稿纸上画了一行N个格子作为棋盘, 制定了如下规则:格子从左到右依次编号为1到N,玩家初始位于格子1,初...

求阶乘的方法

1.普通求法#include<iostream> using namespace std; int main(){ int sum=1;...

【题解】最短路径问题

【题目描述】平面上有n个点(n≤100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现...