繁体   English   中英

从文件C ++读取多个字符串

[英]Read multiple strings from a file C++

我需要一一读取存储在文件中的不同值。 所以我在想可以使用ifstream打开文件,但是由于文件的设置方式是一行可能包含三个数字,而另一行是一个或两个数字,我不确定如何读取每个文件一一 我当时在考虑使用stringstream但不确定是否可以使用。

该文件是这样的格式。

52500.00       64029.50      56000.00
65500.00       
53780.00       77300.00     
44000.50       80100.20      90000.00      41000.00    
60500.50       72000.00

我需要读取每个数字并将其存储在vector

做到这一点的最佳方法是什么? 即使每行包含不同数量的数字,一次也读取一个数字?

为什么不从文件中读取它们作为数字?

double temp;
vector<double> vec;
ifstream myfile ("file.txt");

if (myfile.is_open()) {
  while ( myfile >> temp) {
    vec.push_back(temp);
  }
  myfile.close();
}

如果您不关心数字的位置,我建议在getline之后使用istringstream

std::ifstream f("text.txt");
std::string line;
while (getline(f, line)) {
    std::istringstream iss(line);
    while(iss) {
        iss >> num1;
    }
}
vector<double> v;
ifstream input ("filename");
for (double n; input >> n;) {
  v.push_back(n);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM