#include <iostream>
#include <fstream>
#include <string>
//1 文本文件 写文件
void Write_File_Data()
{
ofstream ofs; //创建流对象
ofs.open("test.txt", ios::out);//打开文件----以写的方式
ofs << "名字 :张三" << endl; //写入内容
ofs << "年龄 : 18"<< endl;
ofs.close(); //关闭文件
}
//2 文本文件 读文件
void Read_File_Data()
{
ifstream ifs; //创建流对象
ifs.open("test.txt", ios::in);//打开文件----以读的方式
if( !ifs.is_open())
/*上面三行也可等价写为下面这种形式
ifstream ifs("test.txt"); //创建流对象
if( !ifs)*/
{
cout <<"open fail"<<endl;
return;
}
char buf[1024] = {0};
//读数据法1-3任选一种可用
//读数据 法1
// while(ifs >> buf) //读完所有数据将会退出while
// {
// cout << buf << endl;
// }
//读数据 法2
/*while (ifs.getline(buf,sizeof(buf))) //读取最多sizeof(buf)个数据
{
cout << buf << endl;
}*/
//读数据 法3
string buffer;
while(getline(ifs,buffer))
{
cout << buffer <<endl;
}
ifs.close(); //关闭文件
}
int main()
{
Write_File_Data();
Read_File_Data();
return 0;
}
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
//3 二进制文件 写文件
//打开的文件可能会乱码
void Write_Binary_Data()
{
ofstream ofs;
ofs.open("person.txt",ios::binary); //打开文件---以二进制方式
char name[10] = {'t','e','x','t'};
ofs.write((const char* )name,4);
ofs.close();
}
//4 二进制文件 读文件
void Read_Binary_Data()
{
ifstream ifs;
ifs.open("person.txt",ios::in | ios::binary); //打开文件---以二进制方式
if( !ifs.is_open())
{
cout <<"open fail"<<endl;
return;
}
char name[10];
ifs.read(name, 4);
cout << name << endl;
ifs.close();
}
int main()
{
Write_Binary_Data();
Read_Binary_Data();
return 0;
}