gpt4 book ai didi

c++ - 如何从文件中读取并动态分配一个int数组

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:23 25 4
gpt4 key购买 nike

我需要读取一些包含大量数字 (int) 的文件。每个文件的行都不同。

1
3
5
2
1
3
2

我必须读取其中一个文件并动态创建一个 int 数组。我将读取文件两次,因为我无法知道文件的长度。你知道另一种方式吗?这就是我所做的:

int main()
{
int *array;
int tmp, count;

ifstream fin("inputfile");

while(fin >> tmp)
count++;

array = new int[count];

fin.close();
fin.open("inputfile");
int i=0;
while(fin >> tmp)
array[i++]=tmp;

delete[] array;
return 0;
}

感谢您的帮助。

最佳答案

使用 std::vector 而不是原始数组。

这样您就可以在读取每个项目时添加到 vector 中,而不是必须读取文件一次才能计算出文件中有多少项目,然后再次填充数组。

int main()
{
std::vector<int> data;
int tmp;

ifstream fin("inputfile");

while(fin >> tmp)
{
data.push_back(tmp)
}

return 0;
}

关于c++ - 如何从文件中读取并动态分配一个int数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18147602/

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