如何将txt文件中的多个值输入数组C++
How to input multiple values from a txt file into an array C++
我希望将 .txt 文件的各个输入输入到我的数组中,其中每个输入由 space 分隔。然后计算这些输入。如何将 .txt 文件中的多个值输入到数组中?
int main()
{
float tempTable[10];
ifstream input;
input.open("temperature.txt");
for (int i = 0; i < 10; i++)
{
input >> tempTable[i];
cout << tempTable[i];
}
input.close();
return 0;
}
根据我在这里写的内容,我希望文件的输入按照计划进行,每个值进入 tempTable[i] 但是当 运行 程序输出极端数字时,即 -1.3e9 .
temperature.txt文件如下:
25 20 11.2 30 12.5 3.5 10 13
可以使用boost::split或者直接将描述符赋值给变量
std::ifstream infile("file.txt");
while (infile >> value1 >> value2 >> value3) {
// process value1, value2, ....
}
或使用其他版本
std::vector<std::string> items;
std::string line;
while (std::getline(infile, line)) {
boost::split(items, line, boost::is_any_of(" "));
// process the items
}
你的文件包含8个元素,你迭代了10次。
您应该使用 vector
或 list
并迭代 while(succeded)
#include <vector>
#include <fstream>
#include <iostream>
int main()
{
float temp;
std::ifstream input;
input.open("temperature.txt");
std::vector<float> tempTable;
while (input >> temp)
{
tempTable.push_back(temp);
//print last element of vector: (with a space!)
std::cout << *tempTable.rbegin()<< " ";
}
input.close();
return 0;
}
我希望将 .txt 文件的各个输入输入到我的数组中,其中每个输入由 space 分隔。然后计算这些输入。如何将 .txt 文件中的多个值输入到数组中?
int main()
{
float tempTable[10];
ifstream input;
input.open("temperature.txt");
for (int i = 0; i < 10; i++)
{
input >> tempTable[i];
cout << tempTable[i];
}
input.close();
return 0;
}
根据我在这里写的内容,我希望文件的输入按照计划进行,每个值进入 tempTable[i] 但是当 运行 程序输出极端数字时,即 -1.3e9 .
temperature.txt文件如下:
25 20 11.2 30 12.5 3.5 10 13
可以使用boost::split或者直接将描述符赋值给变量
std::ifstream infile("file.txt");
while (infile >> value1 >> value2 >> value3) {
// process value1, value2, ....
}
或使用其他版本
std::vector<std::string> items;
std::string line;
while (std::getline(infile, line)) {
boost::split(items, line, boost::is_any_of(" "));
// process the items
}
你的文件包含8个元素,你迭代了10次。
您应该使用 vector
或 list
并迭代 while(succeded)
#include <vector>
#include <fstream>
#include <iostream>
int main()
{
float temp;
std::ifstream input;
input.open("temperature.txt");
std::vector<float> tempTable;
while (input >> temp)
{
tempTable.push_back(temp);
//print last element of vector: (with a space!)
std::cout << *tempTable.rbegin()<< " ";
}
input.close();
return 0;
}