代码拉取完成,页面将自动刷新
#include "ReadTask.h"
#include <chrono>
#include <thread>
#include <iostream>
#include "Data.h"
void ReadTask::Main(){
std::cout<<"begin in thread ReadTask::Main "<<std::endl;
while (!is_exit_) {
if(ifs_.eof()) break;
// char buf[1024] = {0};
auto data = Data::Make(mem_pool_);
int data_size = 1024;
//申请空间
void *buf = data->New(data_size);
//读取文件
ifs_.read((char*)buf, data_size);
if(ifs_.gcount() <= 0) break;
data->set_size(ifs_.gcount());
if(ifs_.eof()){
data->set_end(true);
}
std::cout<<"["<<ifs_.gcount()<<"]"<<std::flush;
if(next_){
next_->PushBack(data);
}
}
ifs_.close();
std::cout<<"begin in thread ReadTask::Main "<<std::endl;
}
bool ReadTask::Init(std::string filename){
if(filename.empty()) return false;
ifs_.open(filename,std::ios::binary); //二进制打开
if(!ifs_){
std::cerr<<"open file "<<filename<<" failed!"<<std::endl;
return false;
}
std::cout<<filename<<" open success"<<std::endl;
ifs_.seekg(0,std::ios::end);
data_byte_ = ifs_.tellg();
ifs_.seekg(0,std::ios::beg);
std::cout<<" file size "<<data_byte_<<std::endl;
return true;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。