fileapp重新打开文件就又回到开头
发布网友
发布时间:2022-04-25 04:06
我来回答
共1个回答
热心网友
时间:2023-10-24 22:08
文件指针不是记录在文件系统内的,而是程序自己维护的一个位置信息,关闭后,文件对象销毁,这个信息自然也不复存在,第二次打开,肯定不会记录上次操作的位置,如果是标准c库的FILE系列函数,根据打开模式,如果是追加模式,则在文件尾,其他模式,在文件头。如果是win32api或者linux/unix系统函数等,则根据手册确定,一般位于头部
请问C++中当文件指针到达末尾时如何重新回到开头?seekg(0),seekg(ios::beg)等都没效果,代码如下:
template<typename T>
void input(const char* fname, vector<T> &a)
{
ifstream ifile(fname);
int count(0), i(0);
T tmp;
while (!ifile.eof())
{
ifile >> tmp;
count ++;
}
a.resize(count);
ifile.seekg(ios::beg);//写了这个也还是回不去
while (!ifile.eof())
ifile >> a[i++];
ifile.close();
}
请各位高手指教!