GIS程序设计第十章.ppt

上传人:sccc 文档编号:5586599 上传时间:2023-07-31 格式:PPT 页数:31 大小:413.01KB
返回 下载 相关 举报
GIS程序设计第十章.ppt_第1页
第1页 / 共31页
GIS程序设计第十章.ppt_第2页
第2页 / 共31页
GIS程序设计第十章.ppt_第3页
第3页 / 共31页
GIS程序设计第十章.ppt_第4页
第4页 / 共31页
GIS程序设计第十章.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《GIS程序设计第十章.ppt》由会员分享,可在线阅读,更多相关《GIS程序设计第十章.ppt(31页珍藏版)》请在三一办公上搜索。

1、第 10 章I/O流,通过流的概念,可以将要输入或者输出的数据看作一个字节流,而不必考虑具体设备的特定细节。,【10.1 I/O流概述】,【10.1 I/O流概述】,图各类之间的关系,在ios类中控制输入输出的成员函数有:int ios:width();/返回当前的宽度设置int ios:width(int w);/设置宽度并返回前一次的设置int ios:precision(int p);/设置精度并返回前一次设置值char ios:fill();/返回当前空位填充的字符char ios:fill(char ch);/设置空位填充字符long ios:setf(long flags);/设置

2、状态标志long ios:unsetf(long flags);/清除状态标志long ios:flags();/测试状态标志long ios:flags(long flags);/设置状态标志并返回前一次的状态标志,状态标志是各种状态值之间通过或运算组合而成的,在ios类中是一个公共的枚举类型。,【10.2 输入输出格式控制】,表 iso类中各个标志代表的含义,例 10-1,coutendl;for(i=0;i5;i+)cout.setf(ios:scientific|ios:uppercase);/设置标志为科学记数法,显示大写E coutdblForTesti;coutendl;for(

3、i=0;i5;i+)cout.setf(ios:left);/设置标志为左对齐输出 coutstrForTesti;coutendl;cout.fill(#);/设置填充符号为#cout.unsetf(ios:left|ios:uppercase);/解除左对齐和大写标志设置 for(i=0;i5;i+)cout.setf(ios:hex|ios:showbase|ios:showpos);coutnForTesti;,(续),coutendl;for(i=0;i5;i+)cout.setf(ios:fixed);/设置标志用固定点符号输出浮点数 coutdblForTesti;coutend

4、l;for(i=0;i5;i+)cout.width(8);/设置输出域宽度为8 coutstrForTesti;coutendl;cout.unsetf(ios:hex|ios:oct);/解除八进制和十六进制设置 for(i=0;i5;i+)cout.width(8);coutnForTesti;,(续),coutendl;cout.fill(*);/将填充字符设置为*for(i=0;i5;i+)A cout.width(8);coutstrForTesti;coutendl;for(i=0;i5;i+)cout.width(8);coutnForTesti;coutendl;cout.p

5、recision(8);/设置输出精度为8 for(i=0;i5;i+)coutdblForTesti;,(续),coutendl;/源程序结束,设置I/O格式还有另外一种途径,就是使用格式操纵子。格式操纵子可以直接嵌入到输入输出语句中。格式操纵子分为带参数和不带参数两种。,(续),表 C+中预定义的操纵子表,例 10-2,coutendl;for(i=0;i5;i+)coutsetiosflags(ios:scientific|ios:uppercase);/设置标志为科学记数法,/显示大写E coutdblForTesti;coutendl;for(i=0;i5;i+)coutsetios

6、flags(ios:left);/设置标志为左对齐输出 coutstrForTesti;coutendl;coutsetfill(#);/设置填充符号为#coutresetiosflags(ios:left|ios:uppercase);/解除左对齐和大写标志设置 for(i=0;i5;i+),(续),coutsetiosflags(ios:hex|ios:showbase|ios:showpos);coutnForTesti;coutendl;for(i=0;i5;i+)coutsetiosflags(ios:fixed);/设置标志用固定点符号输出浮点数 coutdblForTesti;c

7、outendl;for(i=0;i5;i+)coutsetw(8)strForTesti;/设置输出域宽度为8 coutendl;coutresetiosflags(ios:hex|ios:oct);/解除八进制和十六进制设置 for(i=0;i5;i+)coutsetw(8)nForTesti;coutendl;,(续),coutsetfill(*);/将填充字符设置为*for(i=0;i5;i+)coutsetw(8)strForTesti;coutendl;for(i=0;i5;i+)coutsetw(8)nForTesti;coutendl;coutsetprecision(8);/设

8、置输出精度为8 for(i=0;i5;i+)coutdblForTesti;coutendl;/源程序结束,(续),(续),open()函数的原型为:void open(const char*filename,int filemode,int access=filebuf:openprot);,文件的打开方式必须取下表所示的一个或者其组合,【10.3 文件输入输出】,表文件的打开方式,istream,istream,由于缓冲区首地址的数据类型为unsigned char*,所以输入输出其他类型数据时必须进行强制类型转换。,输入输出流的主要成员函数除open和close外还有:,istream,

9、ios:beg/从文件头开始ios:cur/从文件当前位置开始ios:end/从文件尾开始,【10.3 文件输入输出】,例 10-3,coutnOutfile;/获得整数输出文件名 nOutf.open(nOutfile);/打开输出文件 for(int i=0;istrOutfile;/获得字符输出文件名 strOutf.open(strOutfile);/打开输出文件 for(i=0;i4;i+)strOutfstrForTesti;/向输出文件中写数据 strOutfendl;nOutf.close();/关闭输出文件 strOutf.close();/关闭输出文件,(续),strcpy

10、(nInfile,nOutfile);/获得输入文件名,与前面输出文件同名 strcpy(strInfile,strOutfile);nInf.open(nInfile);/打开输入文件 strInf.open(strInfile);/打开输入文件 for(i=0;inTemp;/从输入文件中读数据 coutstrTemp;/从输入文件中读数据 coutstrTemp;coutendl;/源程序结束,(续),例 10-4,for(i=0;i20;i=i+2)myio.seekg(posi);/移动文件指针位置至指定位置 myio.read(char*)/源程序结束,(续),(续),/EXAMPLE10_5.CPP/源程序开始#include class Point/声明类Pointprivate:int x;int y;,例 10-5,【10.4 用户自定义类型的输入输出】,例 10-5,ostream/源程序结束,(续),(续),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号