1 Star 0 Fork 0

xiaqiu / 加解密学习

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ReadTask.cpp 1.27 KB
一键复制 编辑 原始数据 按行查看 历史
xiaqiu 提交于 2024-05-05 13:46 . first commit
#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;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mrxiao_com/DES_study.git
git@gitee.com:mrxiao_com/DES_study.git
mrxiao_com
DES_study
加解密学习
main

搜索帮助

344bd9b3 5694891 D2dac590 5694891