大数据文件快速读入内存
来源:互联网 发布:数据维护 英文 编辑:程序博客网 时间:2024/04/29 13:54
//下面是学习power8博客敏感词比赛的时候,用到了他人的代码,在此记录一下,并对分享者表示感谢!
//先把文件读入内存,再对内存文件进行转码等处理,比使用ifstream getline要快n倍!
oid print_as_wide(const char* mbstr){ std::mbstate_t state = std::mbstate_t(); int len = 1 + std::mbsrtowcs(NULL, &mbstr, 0, &state); wchar_t *wstr=(wchar_t *)malloc(sizeof(wchar_t)*(len)); std::mbsrtowcs(wstr, &mbstr, len, &state); //std::wcout << "Wide string: " << &wstr[0] << '\n' // << "The length, including '\\0': " << wstr.size() << '\n';}int main(int argc, char *argv[]){cout<<"argv = wordsFile blogFile resultFile"<<endl;clock_t timeStart = clock();filebuf *pbuf; ifstream filestr; long size; char * buffer; // 要读入整个文件,必须采用二进制打开 filestr.open ("_blog-mg_out", ios::binary); // 获取filestr对应buffer对象的指针 pbuf=filestr.rdbuf(); // 调用buffer对象方法获取文件大小 size=pbuf->pubseekoff (0,ios::end,ios::in); pbuf->pubseekpos (0,ios::in); // 分配内存空间 buffer=new char[size]; // 获取文件内容 pbuf->sgetn (buffer,size); filestr.close(); // 输出到标准输出 //cout.write (buffer,size); std::setlocale(LC_ALL, "en_US.utf8"); print_as_wide(buffer);delete []buffer;
0 0
- 大数据文件快速读入内存
- 快速读入
- 快速读入
- 快速读入
- 快速读入
- 快速读入
- 快速读入
- jxl读入大容量excel内存溢出解决方案
- C实现大数据文件的内存映射机制
- 判断读入数据文件结尾【从文件读入数据】
- matlab批量读入数据文件的方法
- matlab批量读入数据文件的方法
- Matlab批量读入数据文件的方法
- c/c++ 数据文件读入测试程序
- 快速读入模板
- 逐行快速读入
- 很快的快速读入
- acm快速读入方法
- CMD命令 (复制、移动、重命名) (文件夹、子文件夹)下所有符合条件的文件
- Java中实现文件复制操作代码
- 数据库中内部查询。
- form中只有一个input元素时按回车默认提交表单
- SQL 优化34条建议
- 大数据文件快速读入内存
- java读取和设置配置文件中的属性参数
- VS2008 中按下回车键窗口关闭的问题解决
- 接下来的几个月内,我将带你一起熟悉Java基础和Android开发
- @Repository、@Service、@Controller 和 @Component
- 回家考虑会管理就看结果
- python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
- 字节序
- timestamp