c++中的seekg函数

跪求c++中seekg函数的详细解析,用法,例子....... 跪求c++中seekg函数的详细解析,用法,例子.... 展开
 我来答
小星星教育知识分享
高粉答主

2019-11-30 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67132

向TA提问 私信TA
展开全部

seekg()是对输入流的操作g是get缩写

输入流类的成员函数的名字seekg由两部分组成。首先是seek(寻找)到文件中的某个地方,其次是"g"表示"get",指示函数在输入流上工作,因为要从输入流获取数据。

要查找的文件中的新位置由两个形参给出:新位置将从由place给出的起始位置开始,偏移offset个字节。offset形参是一个long类型的整数,而place可以是ios类中定义的3个值之一。

起始位置可能是文件的开头、文件的当前位置或文件的末尾,这些地方分别由常量ios::beg、ios::cur和ios::end表示。

扩展资料

seekg函数的使用

#include<iostream>

#include<fstream>

usingnamespacestd;

intmain()

{

//Variablesneededtoreadorwritefileonecharacteratatimecharch;

fstreamioFile("rewind.txt",ios::out);

//Openfile.

if(!ioFile)

{

cout<<"Errorintryingtocreatefile";

return0;

}

//Writetofileandclose

ioFile<<"Allgooddogs"<<endl<<"growl,bark,andeat."<<endl;

ioFile.close();

//Openthefile

ioFile.open("rewind.txt",ios::in);

if(!ioFile)

{

cout<<"Errorintryingtoopenfile";

return0;

}

//Readthefileandechotoscreen

ioFile.get(ch);

while(!ioFile.fail())

{

cout.put(ch);

ioFile.get(ch);

}

//Rewindthefile

ioFile.clear();

ioFile.seekg(0,ios::beg);

//Readfileagainandechotoscreen

ioFile.get(ch);

while(!ioFile.fail())

{

cout.put(ch);

ioFile.get(ch);

}

return0;

}

匿名用户
2013-04-12
展开全部
/*
* seekg 对输入文件定位,有两个参数:
* 第一个:表示偏移量,可正可负,正表示向后,负表示向前
* 第二个:偏移的基地址,可以是:
* ios::beg 输入流的开始
* ios::cur 输入流的当前位置
* ios::end 输入流的结束
*/

#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char* argv[])
{
ifstream in("test.txt");

in.seekg(0, ios::end); // 定位到文件结束处

streampos sp = in.tellg(); // 定位指针,指向文件结尾处,也就是文件大小

cout << "file size:" << sp << endl;

in.seekg(-sp/3, ios::end); // 从end向前移动sp/3个字节

in.seekg(0, ios::beg); // 移动到文件开始
cout << in.rdbuf() << endl; // 读出文件内容

return(0);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-12
展开全部
我也是这学期刚学的C++,seekg用在读取文件的时候,seekg(offset,dir),offset是一个位移值,为Long型,=0是当前,>0向后移,<0则向前移。dir有3个参数,ios::beg文件开头,ios::end文件结尾,ios::cur当前指针位置.你读取文件后,注意读的时候是ios::in,写是ios::out你在用seekg(10L,beg),表示文件开头向后移10个字节,在用cout<<tellg()显示位移后的位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
次元破坏者986b1
2013-04-12 · TA获得超过165个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:111万
展开全部
这个MSDN就有的吧……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
暖萱紫菱
推荐于2017-09-04 · TA获得超过1.6万个赞
知道小有建树答主
回答量:2129
采纳率:93%
帮助的人:158万
展开全部
C++中seekg函数的功能是:设置输入文件流的文件流指针位置。
函数原型:
ostream& seekp( streampos pos );
ostream& seekp( streamoff off, ios::seek_dir dir ); istream& seekg( streampos pos );
istream& seekg( streamoff off, ios::seek_dir dir );
函数参数 :
pos:新的文件流指针位置值;
off:需要偏移的值;
dir:搜索的起始位置;
dir参数用于对文件流指针的定位操作上,代表搜索的起始位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式