文件操作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 ...
随机推荐
- 带dos调试窗口的win32程序
#pragma comment( linker, "/subsystem:\"console\" /entry:\"WinMainCRTStartup\&quo ...
- cocos2d-x 3.0来做一个简单的游戏教程 win32平台 vs2012 详解献给刚開始学习的人们!
原代码来自于网络,因为cocos2d-x 3.0的资料,的确不多,与曾经版本号的接口非常难对上, 所以网上非常多样例都无法调试,对于新学习cocos2d-x 的同学,难度添加了,所以出一个超具体的样例 ...
- android ListView和GridView拖拽移位实现代码
关于ListView拖拽移动位置,想必大家并不陌生,比较不错的软件都用到如此功能了.如:搜狐,网易,百度等,但是相比来说还是百度的用户体验较好,不偏心了,下面看几个示例: 首先 ...
- UVA 11464 - Even Parity(枚举方法)
D Even Parity Input: Standard Input Output: Standard Output We have a grid of size N x N. Each cell ...
- CloudStack搭建KVM环境
软件环境:agent:CentOS 6.3,minimal安装,CPU启用VT management server:CentOS 6.3,minimal安装 存储:CentOS 6.3 搭建在mana ...
- git 提交ignore files
1,首先在命令行创建.gitignore文件 $ touch .gitignore 2,在文件.gitignore 加入要忽略的文件入 $ echo *.class > .gitignore 3 ...
- 嵌入式Linux常见问题
Linux问题集 1 linux设置环境变量及保存地点 1. 显示环境变量HOME $ echo $HOME /home/terry 2. 设置一个新的环境变量WELCOME $ exportWELC ...
- SetBkMode可设置文字背景色:TRANSPARENT或OPAQUE
感受一下区别: procedure TForm1.Timer2Timer(Sender: TObject); var cvs: TCanvas; Rect: TRect; Str: string; b ...
- jdom dom4j解析xml不对dtd doctype进行验证(转)
一.写在所有之前:因为dom4j和jdom在这个问题上处理的方法是一模一样的,只是一个是SAXBuilder 一个SAXReader,这里以jdom距离,至于dom4j只需要同理替换一下就可以了.二. ...
- Hibernate4读取Clob数据
package cn.framework.dao.impl; import java.io.BufferedReader; import java.io.IOException; import jav ...