C++文件操作示例

C++ 标准库提供了 3 个类用于实现文件操作,它们统称为文件流类,这 3 个类分别为:

ifstream:专用于从文件读取数据

ofstream:专用于向文件写入数据

fstream:可读可写

这三个文件流类都位于 fstream 头文件中;

fstream 类拥有 istream、ostream 类的全部成员方法。

示例1;读文件,

cpp 复制代码
#include <fstream>  
#include <iostream>  

using namespace std;  

void main()  
{  
	int datalen=0; 
    double num[100];
 
    //打开文件流
    ifstream file("test2.txt");
    
    //判断文件指针是否为空
    while(!file.eof() ) 
        //若不为空,则循环读取存入数组,这里的读取以空格、Tab、回车结束,以单词为单位
        file>>num[datalen++];
 
    //输出数组元素
    for(int i=0;i<datalen;i++)
    {
        cout<<num[i]<<" ";
    }
	cout<<"\n";
 
    //关闭文件流
    file.close();   
}  

示例2;写文件,

cpp 复制代码
#include <iostream>
#include <fstream>
#include<iomanip>

using namespace std;

int main() {
	
	int month = 10 , day = 1;	
	ofstream outFile;	//定义ofstream对象outFile
	
	outFile.open("me.txt");	//打开文件	
	if(!outFile) return -1;

	outFile << "国庆节:" << month << "月" << day << "日" << endl; //写入操作 	
	outFile<<setw(20)<<"姓名:"<<"张三"<<endl;
	outFile<<setw(20)<<"家庭地址:"<<"华盛顿"<<endl;
	outFile.close();	//关闭文件
	
	return 0;
}

其中,

setw用来控制输出字符串的长度,例如,

cout<<setw(10)<<"hello"<<endl;

C++会在"hello"前面加入5个空格,使"hello"的长度变为10;

使用setw需要 #include<iomanip>;

相关推荐
wuminyu16 分钟前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
code2cat23 分钟前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
CappuccinoRose36 分钟前
FormData数据处理
开发语言·前端·javascript·表单数据
Zguigo1 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++
-Marks-1 小时前
【C++编程】STL容器(二)--- vector底层模拟实现(常用接口实现 | 扩容机制 | 深浅拷贝 | 迭代器失效)
开发语言·c++·vector·内存管理·迭代器失效·vector底层模拟实现
Shadow(⊙o⊙)1 小时前
C++11并发支持库
开发语言·c++
一技安身1 小时前
【java】JDK8 + JDK17 绿色解压共存方案-全程不修改任何系统环境变量
java·开发语言
ShineWinsu2 小时前
对于Redis:主从复制的解析
linux·数据库·c++·redis·缓存·面试·主从复制
hudd6682 小时前
JavaEE 初阶 - 多线程(初阶)
java·开发语言·java-ee
I Am a robert girl2 小时前
稀有事件估计的迭代去对齐:从源码视角拆解重要性采样新范式
开发语言·python·机器学习·重要性采样·蒙特卡洛方法·稀有事件估计