博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jsoncpp学习二---读取Json格式的文本文件
阅读量:5281 次
发布时间:2019-06-14

本文共 1471 字,大约阅读时间需要 4 分钟。

从txt文件中读取出json格式的文本,用jsoncpp解析

一、读取文本文件

方法1:

#include 
// std::cout#include
// std::ifstream
std::ifstream is ("test.txt", std::ifstream::binary);  if (is) {    // get length of file:    is.seekg (0, is.end);    int length = is.tellg();    is.seekg (0, is.beg);    char * buffer = new char [length];    std::cout << "Reading " << length << " characters... ";    // read data as a block:    is.read (buffer,length);    if (is)      std::cout << "all characters read successfully.";    else      std::cout << "error: only " << is.gcount() << " could be read";    is.close();    // ...buffer contains the entire file...    delete[] buffer; 上面的代码将txt文本读到了buffer中, 代码来自:istream::read - C++ Reference  http://www.cplusplus.com/reference/istream/istream/read/ delete buffer之前,用jsoncpp转成json:

Json::Reader reader;

Json::Value root;
bool parsingSuccessful = reader.parse(buffer, root );

然后可以参考上篇Jsoncpp学习中的方法进行解析

 

二、 读取文本文件

string slocal_path = "e:\\temp\\wxxs001.txt";

std::ifstream is (slocal_path.c_str(), std::ifstream::binary);

if (!is)
{
return 0;
}

//读取"utf8.txt"

//in.open("utf8.txt");
//过滤文本开始efbbbf三个字节
//char b;
//is>>b;
//is>>b;
//is>>b;

 

//注:上面过滤文本文件开始的三个字节,实际应用中发现有时候不用过滤,过滤反而出错,有时候却必须要过滤一下。

string strUtf8;

is>>strUtf8;
is.close();
//cout<<Utf8ToGbk(strUtf8)<<endl;//转成gbk输出

//转换成json

Json::Reader reader;

Json::Value root;

bool parsingSuccessful = reader.parse(strUtf8, root );

 

 

转载于:https://www.cnblogs.com/nanzhi/p/9234638.html

你可能感兴趣的文章
afreechart
查看>>
android 布局 实现底部表单中底部按钮悬浮
查看>>
hihocoder编程练习赛52-2 亮灯方案
查看>>
CF983B XOR-pyramid
查看>>
Go之包
查看>>
Sharepoint学习笔记—习题系列--70-573习题解析 -(Q40-Q44)
查看>>
TCP和UDP协议的区别
查看>>
【UML】:时序图
查看>>
【POJ】2348 Euclid's Game(扩欧)
查看>>
const type& 与 type& 的区别
查看>>
JDK中工具类的使用
查看>>
MetaSploit攻击实例讲解------社会工程学set攻击(kali linux 2016.2(rolling))(详细)...
查看>>
Lucene3.6第一篇--创建索引
查看>>
代理服务器
查看>>
一些可能用得到软件
查看>>
NHibernate系列文章二:创建NHibernate工程
查看>>
跳跃的杰克(51nod 1615)
查看>>
php while循环 指定显示内容 例如不想显示前10条和后10条
查看>>
mongodb导入json文件(WINDOWS)
查看>>
Legal or Not (拓扑排序判环)
查看>>