第十五周 阅读程序(3)
2015-06-15 16:35
176 查看
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:呼亚萍 * 完成日期:2015年6月15日 * 版 本 号:v1.0 * * 问题描述: 阅读下面的程序,指出其功能,体会seekg()、tellg()等函数的功能及其用法 * 程序输入:相应的程序 * 程序输出:对应得结果 */#include<iostream> #include <fstream> using namespace std; const char * filename = "a.txt"; int main () { long l,m; ifstream file (filename, ios::in|ios::binary); l = file.tellg(); file.seekg (0, ios::end); m = file.tellg(); file.close(); cout << "size of " << filename; cout << " is " << (m-l) << " bytes.\n"; return 0; }
运算结果:
#include <fstream> using namespace std; int main (){ long pos; ofstream outfile; outfile.open ("test.txt"); outfile.write ("This is an apple",16); pos=outfile.tellp(); outfile.seekp (pos-7); outfile.write (" sam",4); outfile.close(); return 0; }
运算结果:
</pre><pre class="cpp" name="code">#include <iostream> #include <fstream> using namespace std; int main() { fstream outfile,infile; outfile.open("data.txt",ios::out); for (int i=0;i<26;i++) outfile<<(char)('A'+i); outfile.close(); infile.open("data.txt",ios::in); char ch; infile.seekg(6,ios::beg); if(infile.get(ch)) cout<<ch; infile.seekg(8,ios::beg); if(infile.get(ch)) cout<<ch; infile.seekg(-8,ios::end); if(infile.get(ch)) cout<<ch; cout<<endl; infile.close(); return 0; }
运算结果:
知识点总结:
seekg()函数功能:以参照位置为基础移动若干字节。用法:seekg(位移量,参照位置)
tellg()函数功能:得到输入文件位置标记的当前位置。用法:tellg()
学习心得:
使用以上函数可以准确指明应读写的位置呢,十分巧妙与简单!
相关文章推荐
- [web安全] HTML5安全
- 解析Jquery取得iframe中元素的几种方法
- 关于JS/Jquery无法关闭当前页面的问题
- OpenCV——饱和度调整
- 移动医疗行业遐思
- android apk 防止反编译技术第五篇-完整性校验
- poi导出excel
- 说说什么是重构(三)重构的结果
- git同步远端的分支
- 动态规划--最大子段和
- 转 Lua标准库: table函数, 数学函数, 字符串函数/格式化/配对,
- ibatIS打印SQL的log4j配置
- 2分法求 2^n 和 矩阵的n次方 转:http://blog.csdn.net/maiyuetong/article/details/6762206
- 有关freemark的
- android apk 防止反编译技术第四篇-对抗JD-GUI
- FirstBlood-jquery弹窗插件
- Linux zip命令 与 windows的兼容问题
- Linux服务器上监控网络带宽的18个常用命令
- 碰到过的应用审核问题
- 关于jsp中文乱码问题。