当前位置: 首页 > news >正文

建立网站批复/各大免费推广网站

建立网站批复,各大免费推广网站,做外贸一般看什么网站,网站建设q-91、 定义数据流对象指针 对文件进行读写操作首先必须要定义一个数据流对象指针,数据流对象指针有三种类型,它们分别是: Ifstream:表示读取文件流,使用的时候必须包含头文件“ifstream”; Ofstream&#…

1、 定义数据流对象指针

对文件进行读写操作首先必须要定义一个数据流对象指针,数据流对象指针有三种类型,它们分别是:

Ifstream:表示读取文件流,使用的时候必须包含头文件“ifstream”;

Ofstream:表示文件写入流,使用的时候必须包含头文件“ofstream”;

Fstream:表示文件读取/写入流,使用的时候必须包含头文件“fstream”;

2、 打开文件

打开文件可以调用两个函数,其一是使用open函数,其二是使用数据流对象的构造函数。这两个函数调用的参数基本上一致的,以open函数为例:

void open(const char * filename, ios_base::openmode mode = ios_base::in | ios_base::out);
void open(const wchar_t *_Filename, ios_base::openmode mode = ios_base::in | ios_base::out, int prot = ios_base::_Openprot);

参数filename表示文件名,如果该文件在目录中不存在,那么该函数会自动创建该文件;参数mode表示打开方式,这里打开方式有一下四种,如表1,并且这些方式可以以“|”的或的方式组合使用。

表1

ios::in
  为输入(读)而打开文件                                                     
ios::out                                    为输出(写)而打开文件   
ios::ate初始位置:文件尾
ios::app所有输出附加在文件末尾             
ios::trunc如果文件已存在则先删除该文件
ios::binary二进制方式

参数prot表示文件打开的属性,基本上很少用到。

3、 文件的读写操作

由于类ofstream, ifstream 和fstream 是分别从ostream, istream 和iostream 中引申而来的,所以文件的读写操作与使用控制台函数cin和cout一样,“<<”表示对文件进行写操作,“>>”表示对文件进行读操作。

根据数据流读写的状态,有4个验证函数,它们分别是:

· bad()

如果在读写过程中出错,返回 true 。例如:当我们要对一个不是打开为写状态的文件进行写入时,或者我们要写入的设备没有剩余空间的时候。

· fail()

除了与bad() 同样的情况下会返回 true 以外,加上格式错误时也返回true ,例如当想要读入一个整数,而获得了一个字母的时候。

· eof()

如果读文件到达文件末尾,返回true。

· good()

这是最通用的:如果调用以上任何一个函数返回true 的话,此函数返回 false 。

4、 获得或者设置流指针

获得流指针的位置有两个函数,它们是

Long tellg() 和 long tellp()这两个成员函数不用传入参数,返回pos_type 类型的值(根据ANSI-C++标准) ,就是一个整数,代表当前get 流指针的位置 (用tellg) 或 put 流指针的位置(用tellp)

设置流指针的位置根据输入输出流指针类型不同,也有两个函数,它们是:

seekg() 和seekp()这对函数分别用来改变流指针get 和put的位置。两个函数都被重载为两种不同的原型:

seekg ( pos_type position );
seekp ( pos_type position );

使用这个原型,流指针被改变为指向从文件开始计算的一个绝对位置。要求传入的参数类型与函数 tellg 和tellp 的返回值类型相同。

seekg ( off_type offset, seekdirdirection );
seekp ( off_type offset, seekdir direction );

使用这个原型可以指定由参数direction决定的一个具体的指针开始计算的一个位移(offset),它们如表2所示。

表2

ios::beg从流开始位置计算的位移
ios::cur从流指针当前位置开始计算的位移
ios::end从流末尾处开始计算的位移

5、关闭文件

调用函数close(),可以关闭流对象所指向的文件,释放流指针之后,那么该数据流就可以指向其它的文件进行操作了。


下面对文件一般的读写举个例子:

1)在文件末尾写入数据:假设mytext.tex文件中已经有了数据,如图1所示,然后在其末尾写入1到10的整数,运行结果如图2,代码如下。

#include "stdafx.h"
#include<fstream>
int _tmain(int argc, _TCHAR* argv[])
{std::ofstream openfile("d:\\myfile.txt", std::ios::app);for (int i = 1; i < 11; i++){openfile << " " << i;}openfile.close();return 0;
}


图1



图2

2)对文件从新写入数据,只需要默认mode参数就可以了,本例是在例1)的文件mytext的基础上写入2到20的偶数,运行结果如图3,会发现本例的结果将例1)的结果覆盖了。

#include "stdafx.h"
#include<fstream>
int _tmain(int argc, _TCHAR* argv[])
{std::ofstream openfile("d:\\myfile.txt");for (int i = 1; i < 11; i++){openfile << " " << 2*i;}openfile.close();return 0;
}


图3

3)在文件中的指定位置写入数据:本例在例2)的mytex文件的内容中,在第11个数据位置写入11.运行结果如图4所示,在写入后获取当前位置,运行结果如图5所示。

#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{std::ofstream openfile("d:\\myfile.txt",std::ios::in);long l = 11;openfile.seekp(l, std::ios::beg);openfile << 11;openfile.close();long m = openfile.tellp();std::cout << m << std::endl;Sleep(20000);return 0;
}


图4



图5

4)读取文件中的数据:这里将文件mytext里面的数据读入到字符串中,并且显示出来,结果如图6所示。

#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{char *filename = "d:\\myfile.txt";std::ifstream inf(filename);if (!inf.is_open()){std::cout << "Error opening file";}while (!inf.eof()){char d[256];inf.getline(d,100);std::cout << d << std::endl;}Sleep(20000);return 0;
}


图6

要是有帮助到亲的话,可不要忘了给皮皮点个赞呢吐舌头

http://www.lbrq.cn/news/1478647.html

相关文章:

  • 学做网站 软件/刺激广告
  • 做梯子的企业网站/注册网站需要多少钱
  • 做百度移动端网站软件下载/英文网站seo发展前景
  • vi设计基本要素/济南做seo排名
  • .net做网站后台/网络营销策划方案的目的
  • 免费网站建设报价/网络营销专业大学排名
  • 做外贸 是否需要做中文网站/seo怎么收费的
  • 快速搭建网站的软件/周口seo公司
  • 做网站前端后台/网络营销理论基础有哪些
  • 网站建设及经营应解决好的问题/app注册推广
  • asp网站连接access数据库/网页优化
  • 如何做网站挂qq/劳动局免费培训项目
  • 邢台做网站价位/网络推广怎样做
  • 乐山市建设局官方网站/网站排名seo培训
  • 为什么网站百度搜不到了/seo交流中心
  • 厦门网站建设模拟/seo软件推广哪个好
  • 微信开放平台如何注销/甲马营seo网站优化的
  • 新闻网站模板免费/计算机培训班有用吗
  • 网站后台管理系统怎么操作/青岛网站建设哪家好
  • 网站网站建设的原则有哪些/天津seo培训
  • 如何自制作网站/百度收录入口
  • discuz可以做门户网站吗/12月10日新闻
  • 香奈儿网站建设策划书/网站快速排名公司
  • 青岛免费建站/产品推广宣传方案
  • 什么情况自己建设网站/网站广告制作
  • 网站建设旗帜条幅/大连百度关键词排名
  • 网站备案的网站名称/郴州网站seo
  • 网络公司建网站/网上营销是干什么的
  • 集团网站改版方案/谷歌广告联盟官网
  • 房子装修报价清单表/seo推广软件品牌
  • golang的函数
  • hadoop.yarn 带时间的LRU 延迟删除
  • 数据库学习--------数据库日志类型及其与事务特性的关系
  • InfluxDB 与 Python 框架结合:Django 应用案例(二)
  • 原生微信小程序实现语音转文字搜索---同声传译
  • 【C++】类和对象(中)拷贝构造、赋值重载