C++getline从一个txt文件中读取数据,遇到空行停止读取把值赋给一个存储UINT8vector数组,遇到下一个非空行再读取
时间: 2024-03-16 11:45:57 浏览: 88
cPP-Import-data-from-a-txt-file.zip_import txt data_lotus3
可以使用以下代码实现:
```c++
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
ifstream file("data.txt"); // 打开文件
vector<uint8_t> data; // 存储数据的向量
string line; // 存储读取的每一行字符串
while (getline(file, line)) { // 逐行读取文件
if (line.empty()) { // 如果遇到空行
break; // 停止读取
} else { // 如果不是空行
// 将字符串转换为 uint8_t 类型并存储到向量中
data.push_back(static_cast<uint8_t>(stoi(line)));
}
}
// 输出向量中的数据
for (auto d : data) {
cout << static_cast<int>(d) << " ";
}
cout << endl;
return 0;
}
```
其中,`data.txt` 是存储数据的文本文件,`data` 是存储数据的向量,`line` 是存储读取的每一行字符串。使用 `getline` 函数逐行读取文件,如果遇到空行就停止读取,否则将字符串转换为 `uint8_t` 类型并存储到向量中。最后输出向量中的数据。
阅读全文