文件操作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 ...
随机推荐
- Linq To sql入门练习 Lambda表达式基础
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 【linux】linux内核移植错误记录
欢迎转载,转载时请保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http ...
- C# LDAP认证登录
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据需要定制.与X ...
- SGU114-Telecasting station
114. Telecasting station time limit per test: 0.5 sec. memory limit per test: 4096 KB Every city in ...
- js计算日期相差的天数
在网站开发中,经常会遇到计算日期相差的天数,js 没有提供相应的方法,所以自己写一个,方便将来查看: 代码: function DateDiff(sDate1, sDate2, splitStr) { ...
- 14.1.3 Turning Off InnoDB 关掉InnoDB
14.1.3 Turning Off InnoDB 关掉InnoDB: Oracle 推荐InnoDB 作为首选的存储引擎用于典型的数据库应用,从单用户的wikis到博客, 到高端应用把性能推到极限. ...
- Solr集群、KI分词、项目实战
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善 ...
- HDU - 4944 FSF’s game
Problem Description FSF has programmed a game. In this game, players need to divide a rectangle into ...
- Android设计中的.9.png与Android Studio中的设置
在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”.这种图片是用于Android开发的一种特殊的图片格式,它的 ...
- ntohs, ntohl, htons,htonl的比较和详解
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题. 这时就可能用到htons(), ntohl(), ntohs(),htons()这4个网络字节顺序与本地字节顺序之间的转换函数 ...