文件操作ofstream,open,close,ifstream,fin,依照行来读取数据, fstream,iosin iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件
1.ofstream,open,close
写入文件
#include<iostream>
#include<fstream>
using
namespace
std;
//通过ofstream的方式实现写入文件
open,close
void
main()
{
ofstream
fout;
//ofstream输出文件
fout.open("E:\\1.txt");//打开文件
fout <<
"1234abcdef";//写入文件
fout.close();
}
通过这些代码向文件1.txt中输入文件
2.ifstream,fin
从文件里读取文件并打印输出到屏幕
#include<iostream>
#include<fstream>
using
namespace
std;
//通过ifstream流读取文件,并将文件写入str中
void
main()
{
ifstream
fin("E:\\1.txt");//创建读取文件的流
char
str[50] = { 0 };
fin >>
str;//读取
fin.close();
cout <<
str;
cin.get();
}
执行结果是,输出:1234abcdef
3.依照行来读取数据
#include<iostream>
#include<fstream>
using
namespace
std;
//依照行来读取
void
main()
{
//依照行来读取
ifstream
fin("E:\\1.txt");
//读取4行数据
for (int
i = 0;
i < 4;i++)
{
char
str[50] = { 0 };
fin.getline(str,
50);
cout <<
str <<
endl;
}
fin.close();
cin.get();
}
上面结果是输出4行。
4.fout文件输入
#include<iostream>
#include<fstream>
using
namespace
std;
void
main()
{
ofstream
fout;//ofstream.输出文件
fout.open("E:\\2.txt");//打开文件
fout <<
"锄禾日当午"
<< endl;//写入文件
fout <<
"地雷买下土"
<< endl;//写入文件
fout <<
"谭胜来跳舞"
<< endl;//写入文件
fout <<
"炸成250"
<< endl;//写入文件
fout.close();
}
5. fstream,ios::in
| ios::out表示有读写的权限,通过fstream.getline(写入位置,写入长度)。
案例(写入文件又读取文件的方式):
#include<iostream>
#include<fstream>
using
namespace
std;
//通过fstream的方式实现文件读写,要注意的是这样的方式要求文件已经存在
void
main()
{
//ios::in | ios::out表示有读写的权限
fstream
fio("E:\\3.txt",
ios::in
| ios::out);
fio <<
"锄禾日当午"
<< endl;//写入文件
fio <<
"地雷买下土"
<< endl;//写入文件
fio <<
"谭胜来跳舞"
<< endl;//写入文件
fio <<
"炸成250"
<< endl;//写入文件
fio.close();
{
fstream
fio("E:\\3.txt",
ios::in
| ios::out);
for (int
i = 0;
i < 4;
i++)
{
char
str[50] = { 0 };
fio.getline(str,
50);
cout <<
str <<
endl;
}
fio.close();
}
cin.get();
}
6.fio.seekg();随机文件指针,将文件指针移动到指定位置開始读写文件
案比例如以下:
#include<iostream>
#include<fstream>
using
namespace
std;
//通过fstream的方式实现文件读写,要注意的是这样的方式要求文件已经存在
void
main()
{
//ios::in | ios::out表示有读写的权限
fstream
fio("E:\\3.txt",
ios::in
| ios::out);
fio <<
"锄禾日当午"
<< endl;//写入文件
fio <<
"地雷买下土"
<< endl;//写入文件
fio <<
"谭胜来跳舞"
<< endl;//写入文件
fio <<
"炸成250"
<< endl;//写入文件
fio.close();
fio.seekg(ios::beg);
//文件指针,从文件开头開始运行
{
fstream
fio("E:\\3.txt",
ios::in
| ios::out);
for (int
i = 0;
i < 4;
i++)
{
char
str[50] = { 0 };
fio.getline(str,
50);
cout <<
str <<
endl;
}
fio.close();
}
cin.get();
}
7.文件写入和文件读写
#include<iostream>
#include<fstream>
using
namespace
std;
void
main()
{
ofstream
fout;
fout.open("E:\\4.txt");
//将内容打印到文件
fout <<
"ABC" <<
" " << 123 <<
" " <<
'ch' <<
endl;
fout.close();
ifstream
fin("E:\\4.txt");
char
str[10] = { 0 };//读取字符串
int
num = 0;
char
ch =
'\0';
fin >>
str >>
num >>
ch;
std::cout
<< str <<
"\n" <<
num <<
"\n" <<
ch;
std::cin.get();
}
执行结果:
ABC
123
8.文件拷贝
#include<iostream>
#include<fstream>
using
namespace
std;
//读写一个字符
//文本与二进制存储
void
main()
{
ifstream
fin("E:\\4.txt");//创建读取文件的流
ofstream
fout("E:\\40.txt");
if (!fin
|| !fout)
{
std::cout
<< "文件打开失败";
return;
}
std::cout
<< "文件拷贝開始\n";
char
ch = 0;
//引用的方法读取到一个字符
while (fout
&& fin.get(ch))
{
fout.put(ch);//写入一个字节
}
fin.close();
fout.close();
std::cout
<< "文件拷贝完毕";
cin.get();
}
执行结果:生成了一个40.txt,里面存储的是4.txt中的内容
9.文件追加ios:app
#include<iostream>
#include<fstream>
using
namespace
std;
void
main()
{
ofstream
fout("E:\\40.txt",
ios::app);//追加
fout <<
"天下英雄,谭胜第一\n";
fout.close();
cin.get();
}
发如今40.txt这个文件的最后面多了:天下英雄,谭胜第一
文件操作ofstream,open,close,ifstream,fin,依照行来读取数据, fstream,iosin iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件的更多相关文章
- C++文件操作详解(ifstream、ofstream、fstream)
C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstre ...
- 【学习笔记】C++文件操作详解(ifstream、ofstream、fstream)
C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstre ...
- C++ MFC 文件操作(新建,删除,剪切,复制,读数据,写数据,重命名)
源文件:http://pan.baidu.com/s/1ve0hV 这是运行mfc缺失的dll动态链接库:http://pan.baidu.com/s/17pGlT 哈哈,我也是初接触C++,基础的什 ...
- 说说Python 中的文件操作 和 目录操作
我们知道,文件名.目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名.目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfi ...
- MFC文件操作
文件操作:二进制文件和文本文件的区别.二进制文件将数据在内存中存在的模式原封不动的搬到文件中,而文本文件是将数据的asc码搬到文件中.首先做一个读写文件的菜单,在CxxView里响应1.C的方式:fw ...
- C/C++文件操作2
一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef struct { int level; /* fill/empty level of ...
- C/C++ 文件操作
C/C++ 文件操作大概有以下几种 1.C的文件操作: 2.C++的文件操作: 3.WINAPI的文件操作: 4.BCB库的文件操作: 5.特殊文件的操作. 当然了,水题时最常用的当然还是: freo ...
- C++ builder的文件操作
在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:1.基于C的文件操作:2.基于C++的文件操作:3.基 ...
- C++文件操作和模板
1.数据层次 位 bit 字节 byte 域/记录 将所有记录顺序地写入一个文件---->顺序文件:一个有限字符构成的顺序字符流 C++标准库中:ifsteam,ofstream,fstream ...
随机推荐
- MEAN栈开发
Nodejs之MEAN栈开发(二)----视图与模型 2016-06-02 08:30 by stoneniqiu, 92 阅读, 2 评论, 收藏, 编辑 上一节做了对Express做了简单的介绍, ...
- 鼠标进入与离开的消息(使用CM_MOUSEENTER来判断是否进入控件)
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs ...
- SQLiteLog (1) no such Column:
今天在进入sqlite数据库查询的时候出现了这个问题,SQLiteLog (1) no such Column: BGZ 搜索得知这是因为数据库中没有这一列,我的sql语句为" ...
- 如何使用Reaver破解Wi-Fi网络的WPA密码
via: http://lifehacker.com/5873407/how-to-crack-a-wi+fi-networks-wpa-password-with-reaver 译者:Mr小眼儿 本 ...
- SilkTest Q&A 11
101. 如何从其他的机器访问脚本? 答案:将包含脚本的文件夹共享出来…非常简单…你可以使用connect()在你本机运行脚本从而使得它们在其他的一些机器上执行…但是其他人无法访问这些脚本,除非你将它 ...
- Delphi图像处理 -- 最大值
阅读提示: <Delphi图像处理>系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM. <C++图像处理>系列以代码清晰,可读性为主,全部使用C ...
- 大约sources.list和apt-get [转载]
个人觉得,Debian这与最大的方便apt-get安装软件,apt-get这可能是工作:/etc/apt/sources.list文件中保存着一些server的设置,在这些server上有大量的能够用 ...
- ALV调用的几个标准函数
ALV的调用主要由以下几个标准函数实现,所有函数的输入输出参数必须大写,否则系统会出现异常中止,相关函数如下: 1)REUSE_ALV_FIENDCATALOG_MERGE:根据内表结构返回FIELD ...
- UVA 11054 Wine trading in Gergovia 葡萄酒交易 贪心+模拟
题意:一题街道上很多酒店,交易葡萄酒,正数为卖出葡萄酒,负数为需要葡萄酒,总需求量和总售出量是相等的,从一家店到另外一家店需要路费(路费=距离×运算量),假设每家店线性排列且相邻两店之间距离都是1,求 ...
- Swift - 类初始化和反初始化方法(init与deinit)
1,init():类的初始化方法(构造方法) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...