c++从txt读取数据到vector
时间: 2023-05-02 09:00:59 浏览: 346
可以使用 ifstream 类读取 C++ 的文本文件,并使用 push_back 函数将数据存储到 vector 中。具体实现方法如下:
1. 包含头文件 fstream 和 vector
```
#include <fstream>
#include <vector>
```
2. 声明 ifstream 对象和 vector 对象
```
ifstream input_file("filename.txt"); // 替换为实际文件名
vector<int> data_vec;
```
3. 读取文件内容并存储到 vector 中
```
int num;
while (input_file >> num) { // 每次读取一个数字
data_vec.push_back(num); // 将数字存储到 vector 中
}
```
4. 关闭文件流
```
input_file.close();
```
最终,vector 对象 data_vec 中存储了文本文件中所有的数字。
相关问题
c++从txt读取数据到二维vector
下面是一个示例代码,可以读取一个txt文件中的数据并将其保存到一个二维vector中:
```c++
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
int main()
{
ifstream in("data.txt"); // 打开文件
vector<vector<double>> data; // 定义二维vector
string line;
while (getline(in, line)) // 逐行读取文件内容
{
vector<double> row; // 定义一行数据的vector
double value;
stringstream ss(line); // 将字符串转换为stringstream
while (ss >> value) // 逐个读取每个数据
{
row.push_back(value); // 将数据添加到一行中
}
data.push_back(row); // 将一行数据添加到二维vector中
}
// 输出二维vector中的数据
for (auto& row : data)
{
for (auto& value : row)
{
cout << value << " ";
}
cout << endl;
}
return 0;
}
```
假设data.txt文件中有以下内容:
```
1.1 2.2 3.3
4.4 5.5 6.6
7.7 8.8 9.9
```
运行上述代码后,输出结果为:
```
1.1 2.2 3.3
4.4 5.5 6.6
7.7 8.8 9.9
```
可以看到,二维vector中成功保存了从txt文件中读取的数据。
c++读取txt文本数据放入vector
可以用以下代码将文本数据读取到vector中:
```c++
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
int main() {
std::vector<std::string> lines;
std::ifstream infile("data.txt");
std::string line;
while (std::getline(infile, line)) {
lines.push_back(line);
}
infile.close();
// 打印 vector 中的数据
for (const auto& l : lines) {
std::cout << l << std::endl;
}
return 0;
}
```
其中,`data.txt`是要读取的文本文件名,`lines`是存储读取数据的vector。`std::getline()`函数可以从文件流中读取一行数据,并将其存入字符串变量`line`中。`push_back()`函数将该字符串添加到vector中。最后,遍历vector并输出其中的所有字符串。
阅读全文