c++读取txt文件存入vector
时间: 2023-05-31 16:19:13 浏览: 246
### 回答1:
可以使用以下代码将txt文件中的内容读取到vector中:
```c++
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> data; // 定义一个字符串类型的vector
ifstream infile("data.txt"); // 打开文件
if (!infile.is_open()) // 判断文件是否打开成功
{
cout << "文件打开失败!" << endl;
return ;
}
string line; // 定义一个字符串变量,用于存储每一行的内容
while (getline(infile, line)) // 逐行读取文件内容
{
data.push_back(line); // 将每一行的内容存入vector中
}
infile.close(); // 关闭文件
// 输出vector中的内容
for (int i = ; i < data.size(); i++)
{
cout << data[i] << endl;
}
return ;
}
```
其中,data.txt是要读取的txt文件名,可以根据实际情况进行修改。
### 回答2:
C++ 语言中,要读取一个 txt 文件并将其中的内容存入 vector 中,可以使用以下步骤:
首先需要引入头文件 `#include <fstream>` 和 `#include <vector>`。
接着定义一个 vector,用于存储文件读取的内容。
```
std::vector<std::string> content;
```
然后打开要读取的 txt 文件,并用循环逐行读取文件内容,将每一行内容存入 vector 中。
```
std::ifstream fin("example.txt"); // 打开文件
std::string line; // 定义字符串变量
while(std::getline(fin, line)) { // 逐行读取文件内容
content.push_back(line); // 将读取的内容存入 vector 中
}
fin.close(); // 关闭文件
```
如果文件读取成功,vector 中就会包含 txt 文件中的所有内容。我们可以利用循环遍历 vector,并输出其中的内容。
```
for (auto iter = content.begin(); iter != content.end(); ++iter) { // 使用迭代器遍历 vector
std::cout << *iter << std::endl; // 输出 vector 中的每一个元素(即每一行文本)
}
```
完整代码实现如下:
```
#include <fstream>
#include <vector>
#include <iostream>
int main() {
std::vector<std::string> content; // 定义 vector
std::ifstream fin("example.txt"); // 打开文件
std::string line; // 定义字符串变量
while(std::getline(fin, line)) { // 逐行读取文件内容
content.push_back(line); // 将读取的内容存入 vector 中
}
fin.close(); // 关闭文件
for (auto iter = content.begin(); iter != content.end(); ++iter) { // 使用迭代器遍历 vector
std::cout << *iter << std::endl; // 输出 vector 中的每一个元素(即每一行文本)
}
return 0;
}
```
这样就可以将 txt 文件中的内容读取到 vector 中,并对其进行后续操作。
### 回答3:
要把txt文件中的数据读取到vector中,可以采用以下步骤:
1. 打开txt文件并检查是否成功打开。可以使用ifstream来打开文件,并检查文件是否成功打开:
```
ifstream infile("data.txt");
if (!infile.is_open()) {
cout << "无法打开文件data.txt" << endl;
return;
}
```
2. 读取txt文件中的数据并存储到vector中。可以先定义一个vector来保存数据,然后使用循环将文件中的每一行读取出来,并将其添加到vector中:
```
vector<int> data; // 定义一个vector来保存数据
int temp; // 用来临时存储每一行读取出来的数据
while (infile >> temp) {
data.push_back(temp); // 将数据添加到vector中
}
```
这里使用的是while循环,直到读取完整个文件为止。每次循环都会读取文件中的一个整数,并将其添加到vector中。
3. 关闭txt文件。使用完文件后一定要记得将其关闭,以释放资源:
```
infile.close();
```
4. 完整代码:
```
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
ifstream infile("data.txt");
if (!infile.is_open()) {
cout << "无法打开文件data.txt" << endl;
return 0;
}
vector<int> data;
int temp;
while (infile >> temp) {
data.push_back(temp);
}
infile.close();
// 打印vector中的数据
for (int i = 0; i < data.size(); i++) {
cout << data[i] << " ";
}
cout << endl;
return 0;
}
```
以上就是将txt文件中的数据读取到vector中的方法,可以根据自己的需要进行修改和使用。
阅读全文