C++读取txt文件指定数据未成功等待后重新读取
时间: 2023-07-18 21:19:12 浏览: 125
当读取txt文件中的指定数据未成功时,可以等待一段时间后重新读取。以下是一个简单的示例代码:
```c++
#include <iostream>
#include <fstream>
#include <chrono> // 头文件,用于计时
#include <thread> // 头文件,用于等待
using namespace std;
int main() {
ifstream inFile("data.txt"); // 打开txt文件
int n = 5; // 假设要读取第5个数据
int data;
while (true) {
inFile.seekg(0, ios::beg); // 将文件指针移动到文件开头
for (int i = 0; i < n-1; i++) { // 循环读取前n-1个数据
inFile >> data;
}
inFile >> data; // 读取第n个数据
if (!inFile.fail()) { // 如果读取成功则跳出循环
break;
}
cout << "无法读取第" << n << "个数据,等待1秒后重新读取!" << endl;
this_thread::sleep_for(chrono::seconds(1)); // 等待1秒
}
cout << "第" << n << "个数据为:" << data << endl;
inFile.close(); // 关闭文件流
return 0;
}
```
其中,fail()函数用于判断上一次读取是否成功。如果读取成功,则返回false;否则返回true。如果读取失败,则等待一段时间后重新读取。这里使用了chrono和thread头文件中的函数实现等待功能,也可以使用ctime头文件中的sleep()函数实现。
阅读全文