C++将线性表读入文件
时间: 2024-10-14 16:01:19 浏览: 25
在C++中,将线性表(如数组、链表或动态数组)读入文件通常涉及到文件输入流(fstream)操作。这里我们以一维整型数组为例说明:
首先,你需要包含必要的头文件:
```cpp
#include <iostream>
#include <fstream>
#include <vector> // 使用vector存储动态大小的线性表
```
然后,定义一个函数来读取文件中的数据:
```cpp
std::vector<int> readLinearListFromFile(const std::string& filename) {
std::ifstream inputFile(filename);
if (!inputFile.is_open()) {
throw std::runtime_error("Failed to open the file.");
}
std::vector<int> list;
int element;
while (inputFile >> element) { // 逐个读取元素
list.push_back(element); // 将元素添加到列表中
}
inputFile.close();
return list;
}
```
这个函数会打开指定的文件,然后按行读取数据,每行转换成整数并添加到`vector<int>`中。如果文件无法打开或格式错误,它还会抛出异常。
你可以这样使用这个函数:
```cpp
int main() {
try {
std::vector<int> data = readLinearListFromFile("data.txt");
for (const auto &element : data) {
std::cout << element << " ";
}
std::cout << "\n";
} catch (const std::exception &e) {
std::cerr << "Error: " << e.what() << '\n';
}
return 0;
}
```
阅读全文