文件操作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 ...
随机推荐
- hdu1003 最大连续子序和
Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub ...
- Linux环境下使用eclipse开发C++动态链接库程序
Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的动态链接文件为*.so.详细请参考相关文档. 开发环境:Ec ...
- 正则表达式概述与JAVA中正则表达式的应用
编程或者电脑使用过程中,经常需要对字符串进行 匹配,查找,替换,判断.如果单纯用代码 if () ,whlie 什么的进行比较复杂麻烦.正则表达式是一种强大灵活的文本处理工具,专门对字符串进行匹配,查 ...
- EasyUI - Tabs
代码: 判断是不是已经存在,如果存在,则直接选中,否则创建新的tab. $('#tabs').tabs({ fit: true, border: false }) $('#Tree').tree({ ...
- Android高手进阶——Adapter深入理解与优化
Android高手进阶--Adapter深入理解与优化 通常是针对包括多个元素的View,如ListView,GridView.ExpandableListview,的时候我们是给其设置一个Adapt ...
- 基础知识(3)- Java的基本程序设计结构
3.1 一个简单的Java应用程序 3.2 注释 3.3 数据类型 3.3.1 整型 3.3.2 浮点类型 3.3.3 char类型 3.3.4 boolean类型 3.4 变量 3.4.1 ...
- BZOJ 2096([Poi2010]Pilots-单调队列-差值)
2096: [Poi2010]Pilots Time Limit: 30 Sec Memory Limit: 162 MB Submit: 190 Solved: 97 [ Submit][ ...
- C#数学运算表达式解释器
C#数学运算表达式解释器 測试文件内容: a=2+3*2; b=2*(2+3); 浏览按钮事件处理程序: private void button_browse_Click(object sender, ...
- 谈VC++对象模型
一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节.对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释.Inside the C++ Object Model ...
- Delphi接口的底层实现(接口在内存中仍然有其布局,它依附在对象的内存空间中,有汇编解释)——接口的内存结构图,简单清楚,深刻 good
引言 接口是面向对象程序语言中一个很重要的元素,它被描述为一组服务的集合,对于客户端来说,我们关心的只是提供的服务,而不必关心服务是如何实现的:对于服务端的类来说,如果它想实现某种服务,实现与该服务相 ...