Linux读取文件到jsoncpp
来源:互联网 发布:以太网数据帧格式 mii 编辑:程序博客网 时间:2024/05/29 13:31
Json::Value conf;int file=::open("pathname",O_RDONLY);if(file<0)return -1;struct stat statbuf;//文件状态结构体if(::fstat(file,&statbuf)<0) //获取文件状态信息{return -1;}void *src=0;if((src=::mmap(0,statbuf.st_size,PROT_READ,MAP_SHARED,file,0))==MAP_FAILED)//start:映射区的开始地址,设置为0时表示由系统决定映射区的起始地址{return -1;}int skip_src_size=statbuf.st_size;const unsigned char *skip_src=skipBOM((const unsigned char *)src,&skip_src_size);if(this->parse((const char *)skip_src,((const char *)skip_src)+skip_src_size,conf)==false){return -1;}if(::munmap(src,statbuf.st_size)<0){return -1;}::close(file);
去掉文件内容的前缀BOM
const unsigned char *skipBOM(const unsigned char *str, int *size){ const char *p = "\xEF\xBB\xBF"; /* Utf8 BOM mark */ const unsigned char *c = (const unsigned char *)str; int i = 0; do { if (i > *size) break; if (*c != *(const unsigned char *)p++) { *size -= i; return c; } ++i; ++c; } while (*p != '\0'); *size -= i; return c;}
阅读全文
0 0
- Linux读取文件到jsoncpp
- 使用jsoncpp读取json
- cocos2d-x jsonCpp 读取json
- jsoncpp文件操作
- linux 下编译jsoncpp
- linux安装jsoncpp
- LINUX下使用JsonCpp
- linux下安装jsoncpp
- jsoncpp在linux编译
- linux下配置jsoncpp
- Linux下编译Jsoncpp
- linux 安装jsoncpp
- Linux下编译Jsoncpp
- linux下安装jsoncpp
- jsoncpp在linux编译
- make jsoncpp under Linux
- Linux下JsonCpp安装
- jsoncpp在linux编译
- 子DIV浮动(float)后父DIV高度自动失效解决方案
- 《慕课网玩转算法面试》笔记及习题解答5.4.~5.6
- ijkplayer详解使用教程
- 51 nod oj 1189 素因子分解+逆元
- python3.5及numpy库的安装
- Linux读取文件到jsoncpp
- HAProxy7层模型下强大的ACL规则用法
- pip
- Android实现APP版本升级
- Lua入门(1) 编译环境、变量类型与三种结构的实现
- 阅读计划
- Android图片压缩的两个开源库:Luban和Compressor
- 一个正弦函数、余弦函数、坐标系的实例解析
- Android Studio lint工具所提示的需要注意的内容简要记录