gpt4 book ai didi

c++ - 从文件读取数字到字符串到数组

转载 作者:太空宇宙 更新时间:2023-11-04 13:44:32 25 4
gpt4 key购买 nike

我正在从文件中读取数字,例如:

1 2 3 4 5

我想将此数据从文件中读取为字符串,再放入数组中以供进一步处理。这是我所做的:

float *ar = nullptr;
while (getline(inFile, line))
{
ar = new float[line.length()];
for (unsigned int i = 0; i < line.length(); i++)
{
stringstream ss(line);
ss >> ar[i];
}
}
unsigned int arsize = sizeof(ar) / sizeof(ar[0]);
delete ar;

只要说它只从文件中获取第一个值就可以工作就足够了。如何让数组输入所有值?我调试了程序,可以确认该行具有所有必要的值;但 float 组没有。请帮忙,谢谢!

最佳答案

line.length() 是行中的字符数,而不是单词/数字/其他的数。

使用可以轻松调整大小的 vector ,而不是尝试玩弄指针。

std::vector<float> ar;
std::stringstream ss(line);
float value;
while (ss >> value) { // or (inFile >> value) if you don't care about lines
ar.push_back(value);
}

大小现在可用 ar.size();您对 sizeof 的使用是行不通的,因为 ar 是一个指针,而不是数组。

关于c++ - 从文件读取数字到字符串到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26529683/

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