c++学习(第16天)文件(黑马程序员学习笔记)
作者:互联网
写文件
写文件步骤如下:
包含头文件
#include <fstream>
创建流对象
ofstream ofs;
打开文件
ofs.open(“文件路径”,打开方式);
写数据
ofs << “写入的数据”;
关闭文件
ofs.close();
文件打开方式
例子
#include<iostream>
#include<fstream>
using namespace std;
void test()
{
ofstream ofs;
ofs.open("test.txt", ios::out);
ofs << "hahahahah" << endl;
ofs << "hahahahah" << endl;
ofs << "hahahahah" << endl;
ofs.close();
}
int main()
{
test();
system("pause");
return 0;
}
读文件步骤如下:
包含头文件
#include <fstream>
创建流对象
ifstream ifs;
打开文件
ifs.open(“文件路径”,打开方式);
判断文件是否打开成功
if (!ifs.is_open())
读数据
第一种方式
char buff[1024] = { 0 };
while (ifs >> buff)
{
cout << buff << endl;
}
第二种方式
char buff[1024] = { 0 };
while (ifs.getline(buff, sizeof(buff)))
{
cout << buff << endl;
}
第三种方式
string buff;
while (getline(ifs, buff))
{
cout << buff << endl;
}
`在这里插入代码片`第四种方式
char c;
while (c == ifs.get() != EOF)
{
cout << c;
}
关闭文件
ifs.close();
二进制文件
打开方式要指定为 ios::binary
写文件
函数原型 :ostream& write(const char * buffer,int len);
#include <fstream>
#include <string>
class Person
{
public:
char m_Name[64];
int m_Age;
};
//二进制文件 写文件
void test01()
{
//1、包含头文件
//2、创建输出流对象
ofstream ofs("person.txt", ios::out | ios::binary);
//3、打开文件
//ofs.open("person.txt", ios::out | ios::binary);
Person p = {"张三" , 18};
//4、写文件
ofs.write((const char *)&p, sizeof(p));
//5、关闭文件
ofs.close();
}
int main() {
test01();
system("pause");
return 0;
}
读文件
函数原型:istream& read(char *buffer,int len);
#include <fstream>
#include <string>
class Person
{
public:
char m_Name[64];
int m_Age;
};
void test01()
{
ifstream ifs("person.txt", ios::in | ios::binary);
if (!ifs.is_open())
{
cout << "文件打开失败" << endl;
}
Person p;
ifs.read((char *)&p, sizeof(p));
cout << "姓名: " << p.m_Name << " 年龄: " << p.m_Age << endl;
}
int main() {
test01();
system("pause");
return 0;
}
标签:文件,char,16,ifs,ios,c++,学习,ofs,include 来源: https://blog.csdn.net/qq_39346534/article/details/117564227