cpp中的tellg():意外输出

时间:2016-09-12 09:51:46

标签: c++

我似乎不明白为什么tellg()在这个cpp程序中返回值-1。这是程序

#include<iostream>
#include<fstream>
using namespace std;

int main()
{

char a[20];
long t;

ofstream of;
ifstream in;

in.open("s.txt");

of.open("d.txt");

in.getline(a,20);                                   //reading from s.txt
of << a;                                            //writing into d.txt
cout << "\nThe Data in file D is - " << a << endl;

in.close();
of.close();

in.open("d.txt");

in.seekg(2,ios::beg);

in.getline(a,5);
cout << "After Moving 2 spaces - " << a <<endl;

t = in.tellg();
cout<<"TellG() : " << t <<endl;


in.close();

return 0;
}

文件“s.txt”按原样包含以下内容 -

ABCDEFGHIJ
klmnopqrst
UVWXYZ

我认为预期的输出应该是7。

我得到的以下程序的输出是

文件D中的数据是 - abcdefghij
移动2个空格后 - cdef
TellG(): - 1

0 个答案:

没有答案