【发布时间】:2023-03-17 04:35:01
【问题描述】:
我正在尝试从 C++ 文本文件中输入数据。 文本文件采用该格式:
4 15
3 516
25 52 etc.
每行包含两个整数。我不知道文件中的行数,所以我可以绑定足够的内存,这就是我解决这个问题的方法:
ifstream filein;
filein.open("text.txt",ios::in);
int count=0;
while (!filein.eof())
{
count++;
filein>>temporary;
}
count=count/2; // This is the number of lines in the text file.
我的问题是我找不到重置的方法
文件
进入初始状态(到文件的开头,以便我可以实际输入数据),而不是关闭输入流并再次打开它。有没有其他方法可以做到这一点?
【问题讨论】:
-
你应该可以使用 seekg (如果我没记错的话)。您是否考虑过只使用矢量?
-
如果“输入数据”是指将值写回该文件,那么无论如何您都需要以适当的权限打开输出流。
-
@Corbin -
seekg不会清除eofbit。
标签: c++ stream fileinputstream file-io