c++ 获取txt最后一行数据
时间: 2023-12-11 12:05:40 浏览: 82
可以使用 C++ 的 `std::ifstream` 类型来读取文件,然后逐行读取文件内容,将最后一行保存下来。示例代码如下:
```c++
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("example.txt");
if (!file) {
std::cerr << "Failed to open the file" << std::endl;
return 1;
}
std::string lastLine, line;
while (std::getline(file, line)) {
if (!line.empty()) {
lastLine = line;
}
}
if (!lastLine.empty()) {
std::cout << "The last line is: " << lastLine << std::endl;
} else {
std::cout << "The file is empty" << std::endl;
}
return 0;
}
```
其中 `example.txt` 是要读取的文件名,示例代码会输出文件的最后一行内容。如果文件为空则输出 "The file is empty"。
相关问题
c++ 读取txt用逗号分隔的每一行数据
假设你的 txt 文件长这样:
```
1,2,3,4,5
6,7,8,9,10
11,12,13,14,15
```
你可以使用 C++ 的 `std::ifstream` 类和 `std::getline` 函数来读取每行数据,并使用 `std::istringstream` 类和 `std::getline` 函数来将每行数据用逗号分隔成多个字段。
以下是一个例子:
```cpp
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
int main() {
// 打开文件
std::ifstream file("data.txt");
if (!file.is_open()) {
std::cerr << "Failed to open file!" << std::endl;
return -1;
}
// 读取每行数据
std::string line;
while (std::getline(file, line)) {
// 分隔每行数据
std::istringstream iss(line);
std::string field;
std::vector<std::string> fields;
while (std::getline(iss, field, ',')) {
fields.push_back(field);
}
// 打印每个字段
for (const auto& field : fields) {
std::cout << field << " ";
}
std::cout << std::endl;
}
// 关闭文件
file.close();
return 0;
}
```
输出结果:
```
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
```
注:代码中使用了 `std::vector` 类来存储每行数据的多个字段。如果你不想使用这个类,你可以使用数组或其他容器来存储这些字段。
c++读取txt文件中的每行数据
在C++中,可以使用标准库中的fstream类读取文本文件。以下是一个使用fstream类读取txt文件中每行数据的示例代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
int main(){
std::ifstream infile("example.txt"); // 打开文本文件
if(infile){
std::string line;
while(std::getline(infile, line)){ // 逐行读取文件内容
std::cout << line << std::endl; // 输出每行数据
}
}
infile.close(); // 关闭文本文件
return 0;
}
```
以上示例代码假设txt文件名为example.txt,每行数据以换行符分隔。你可以根据实际情况修改代码中的对应参数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)