gpt4 book ai didi

c++ - 为什么我的输入文件中的数字不进入我的数组 C++?

转载 作者:行者123 更新时间:2023-11-28 05:13:11 26 4
gpt4 key购买 nike

我通过引用将一个整数文本文件传递给一个函数。它们由一条新线分隔。我想将它们推送到函数中的一个新数组中。我可以毫无问题地计算行数,并且我使用该变量来创建给定大小的数组,因此不需要 vector 。但是当我打印我的数组的内容时,它就偏离了。我是否需要再次将文件中的整数转换为 int 值(因为我正在从文本文件中读取,是否将它们读取为字符串?)帮助?

C++代码:

void myFunction(ifstream& infile)
{
int NumberOfLines = 0;
int index;
string line;
//Count the number of lines in the file
if(infile.is_open())
{
while(getline(infile, line))
{
++NumberOfLines;
}
}
int arr[NumberOfLines];
//Put the numbers into an array
while(!infile.eof())
{
infile>>arr[NumberOfLines];
}
//Print the array
for(int i=0; i<NumberOfLines; i++)
{
cout<<arr[i]<<endl;
}
}

最佳答案

当您第一次扫描文件时,为了计算行数,ifstream 位置指示器到达文件末尾。

为了再次读取文件,您应该将位置指示器重置为开头,使用:

infile.seekg(0, std::ios_base::beg);

更多信息:seekg , ifstream

关于c++ - 为什么我的输入文件中的数字不进入我的数组 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43152481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com