我试图学习如何处理通过文本文件接收的数据,并且试图利用此功能来接收关键位置的位置索引;
展示我的问题的代码如下:
'''cout <<“程序已启动。” << endl <<“测试fileName.get();” << endl << endl;
fstream fileName("filename", ios::in | ios::out | ios::beg);
if (!fileName.is_open()) {
cout << "file didn't open." << endl;
cin.get();
return 0;
}
fileName.seekp(0, ios::end);
fileName.seekg(0, ios::beg);
int endOf = int(fileName.tellp());
int startOf = int(fileName.tellg());
cout << "Starting index: " << startOf << endl;
cout << "End index: " << endOf << endl;'''
如您所见,我正在使用seekg()和seekp()将指针分别放置在文件的开头和结尾。该文件中确实有数据。
执行时最后显示的值是我放置在底部的任何一个搜索函数的值,几乎就像更改的seekp()也会更改seekg()一样,但是根据我从参考资料中了解到的值,它们应该是两个不同的指针。
我知道我可以将输入保存在seek()函数之间,但是尽管我手动将它们放置在不同的位置,但我想了解为什么它们返回相同的值。
如果您能提供任何指导,我将不胜感激。