使用c++用最简单的办法一行一行读取文件中的用逗号隔开的浮点数和整数
时间: 2024-10-08 15:12:33 浏览: 36
在C++中,你可以使用`fstream`库来逐行读取文件,并利用`getline()`函数获取每一行的内容,然后使用`std::stringstream`将字符串转换成浮点数和整数。下面是一个简单的示例:
```cpp
#include <fstream>
#include <sstream>
#include <vector>
int main() {
std::ifstream file("your_file.txt"); // 替换为你要读取的文件名
if (!file.is_open()) {
std::cerr << "Failed to open the file.\n";
return 1;
}
std::string line;
std::vector<std::pair<double, int>> numbers; // 存储浮点数和整数对
while (std::getline(file, line)) {
std::stringstream ss(line);
double float_num;
int int_num;
if (!(ss >> float_num >> int_num)) { // 如果无法读取一串数字,则跳过此行
std::cerr << "Invalid data in line: " << line << "\n";
continue;
}
numbers.push_back(std::make_pair(float_num, int_num)); // 添加到结果列表中
}
file.close();
// 现在numbers包含了文件中的浮点数和整数对
for (const auto& num : numbers) {
std::cout << "Float: " << num.first << ", Int: " << num.second << '\n';
}
阅读全文