我似乎不明白为什么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