C++对文件的操作
标签:code 失败 line fst auto 二进制 ++ 开始 using
1. 文件写入:
#include using namespace std;
void main()
{
ofstream out; //创建一个文件输出流
out.open("C:\\123.txt"); //输出到文件
out "锄禾日当午,汗滴禾下土。" endl;
out.close();
system("C:\\123.txt");
}
2. 文件读取:
#include
#include using namespace std;
void main()
{
ifstream in; //创建一个文件输出流
in.open("C:\\123.txt"); //从文件读取
char str[256]{ 0 };
//in >> str;
in.getline(str, 256);//处理空格
in.close();
cout endl;
cin.get();
}
3. 文件追加:
#include using namespace std;
void main()
{
ofstream out; //创建一个文件输出流
out.open("C:\\123.txt",ios::app); //追加方式写入文件
out "谁知盘中餐,粒粒皆辛苦。" endl;
out.close();
system("C:\\123.txt");
}
4. 文本文件读写:
#include
#include using namespace std;
struct info
{
char name[10];
int id;
double price;
};
void main()
{
struct info infs[3] = { {"xiaohua",99,5000},{"xiaohong",89,4000},{"xiaoli",79,3000} };
//ofstream fout("C:\\3-文件操作练习\\1.txt",ios::out|ios::app);
ofstream fout("C:\\3-文件操作练习\\1.txt");
for (auto i : infs)
{
fout " " " " endl;
}
fout.close();
ifstream fin("C:\\3-文件操作练习\\1.txt");
for (int i = 0; i 3; i++)
{
char str[255]{ 0 };
fin.getline(str, 254);
cout endl;
}
fin.close();
cin.get();
}
5. 二进制文件读写:
#include
#include using namespace std;
struct info
{
char name[10];
int id;
double price;
};
void main()
{
struct info infs[3] = { { "xiaohua",99,5000 },{ "xiaohong",89,4000 },{ "xiaoli",79,3000 } };
ofstream fout("C:\\3-文件操作练习\\2.bin",ios::binary);
fout.write((char *)infs, sizeof(infs)); //从内存写入磁盘
fout.close();
struct info infshua[3]{ 0 };
ifstream fin("C:\\3-文件操作练习\\2.bin", ios::binary);
fin.read((char *)infshua, sizeof(infshua));
fin.close();
for (auto i : infshua)
{
cout " " " " endl;
}
cin.get();
}
6. 文件指针移动:
(1)移动到合适位置,读:
#include
#include using namespace std;
void main()
{
ofstream fout("C:\\3-文件操作练习\\3.txt");
if (!fout)
{
cout "文件操作失败!\n" endl;
}
fout "123456789abcdefghijklmnopqrstuvwxyz" ;
fout.close();
ifstream fin("C:\\3-文件操作练习\\3.txt");
if (fin.fail())
{
cout "文件操作失败!\n" endl;
}
fin.seekg(9, ios::beg);//文件指针从开始移动9个位置 读
char ch;
while (fin.get(ch))
{
cout ch;
}
fin.close();
cin.get();
}
(2)移动到合适位置,写:
#include
#include using namespace std;
void main()
{
ifstream fin("C:\\3-文件操作练习\\3.txt");
if (fin.fail())
{
cout "文件操作失败!\n" endl;
}
char ch;
while (fin.get(ch))
{
cout ch;
}
fin.close();
ofstream fout("C:\\3-文件操作练习\\3.txt");
if (!fout)
{
cout "文件操作失败!\n" endl;
}
fout.seekp(5, ios::beg);
fout "hello world" endl;
fout.close();
cin.get();
}
C++对文件的操作
标签:code 失败 line fst auto 二进制 ++ 开始 using
原文地址:https://www.cnblogs.com/si-lei/p/9535295.html
评论