当前位置: 首页 > news >正文

网站在线问答怎么做个人备案网站名称

网站在线问答怎么做,个人备案网站名称,wordpress按分类调用文章,网站首页权重低1.简介 RapidJSON 是一个 C 的 JSON 解析库#xff0c;由腾讯开源。 支持 SAX 和 DOM 风格的 API#xff0c;并且可以解析、生成和查询 JSON 数据。RapidJSON 快。它的性能可与strlen() 相比。可支持 SSE2/SSE4.2 加速。RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至…1.简介 RapidJSON 是一个 C 的 JSON 解析库由腾讯开源。 支持 SAX 和 DOM 风格的 API并且可以解析、生成和查询 JSON 数据。RapidJSON 快。它的性能可与strlen() 相比。可支持 SSE2/SSE4.2 加速。RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至不依赖于STL。RapidJSON 对内存友好。在大部分 32/64 位机器上每个 JSON 值只占 16字节除字符串外。它预设使用一个快速的内存分配器令分析器可以紧凑地分配内存。RapidJSON 对 Unicode 友好。它支持UTF-8、UTF-16、UTF-32 (大端序小端序)并内部支持这些编码的检测、校验及转码。例如RapidJSON 可以在分析一个。RapidJSON 是跨平台的。 2.环境搭建 下载地址https://github.com/Tencent/rapidjson/tree/v1.1.0 这里使用的版本1.1.0 下载完成之后解压目录如下将整个include目录拷贝到我们的工程目录下。 拷贝完成之后如下图所示 配置文件路径。C/C -常规 -附加包含目录 3.代码示例 DOM接口示例 #include rapidjson/document.h // rapidjsons DOM-style API #include rapidjson/prettywriter.h // for stringify JSON #include iostreamusing namespace rapidjson;int main() {// 1. Parse a JSON text string to a document.const char json[] { \hello\ : \world\, \t\ : true , \f\ : false, \n\: null, \i\:123, \pi\: 3.1416, \a\:[1, 2, 3, 4] } ;printf(Original JSON:\n %s\n, json);Document document; // Default template parameter uses UTF8 and MemoryPoolAllocator.// In-situ parsing, decode strings directly in the source string. Source must be string.char buffer[sizeof(json)];memcpy(buffer, json, sizeof(json));if (document.ParseInsitu(buffer).HasParseError())return 1;printf(\nParsing to document succeeded.\n);// 2. Access values in document. printf(\nAccess values in document:\n);assert(document.IsObject()); // Document is a JSON value represents the root of DOM. Root can be either an object or array.assert(document.HasMember(hello));assert(document[hello].IsString());printf(hello %s\n, document[hello].GetString());// Since version 0.2, you can use single lookup to check the existing of member and its value:Value::MemberIterator hello document.FindMember(hello);assert(hello ! document.MemberEnd());assert(hello-value.IsString());assert(strcmp(world, hello-value.GetString()) 0);(void)hello;assert(document[t].IsBool()); // JSON true/false are bool. Can also uses more specific function IsTrue().printf(t %s\n, document[t].GetBool() ? true : false);assert(document[f].IsBool());printf(f %s\n, document[f].GetBool() ? true : false);printf(n %s\n, document[n].IsNull() ? null : ?);assert(document[i].IsNumber()); // Number is a JSON type, but C needs more specific type.assert(document[i].IsInt()); // In this case, IsUint()/IsInt64()/IsUint64() also return true.printf(i %d\n, document[i].GetInt()); // Alternative (int)document[i]assert(document[pi].IsNumber());assert(document[pi].IsDouble());printf(pi %g\n, document[pi].GetDouble());{const Value a document[a]; // Using a reference for consecutive access is handy and faster.assert(a.IsArray());for (SizeType i 0; i a.Size(); i) // rapidjson uses SizeType instead of size_t.printf(a[%d] %d\n, i, a[i].GetInt());int y a[0].GetInt();(void)y;// Iterating array with iteratorsprintf(a );for (Value::ConstValueIterator itr a.Begin(); itr ! a.End(); itr)printf(%d , itr-GetInt());printf(\n);}// Iterating object membersstatic const char* kTypeNames[] { Null, False, True, Object, Array, String, Number };for (Value::ConstMemberIterator itr document.MemberBegin(); itr ! document.MemberEnd(); itr)printf(Type of member %s is %s\n, itr-name.GetString(), kTypeNames[itr-value.GetType()]);// 3. Modify values in document.// Change i to a bigger number{uint64_t f20 1; // compute factorial of 20for (uint64_t j 1; j 20; j)f20 * j;document[i] f20; // Alternate form: document[i].SetUint64(f20)assert(!document[i].IsInt()); // No longer can be cast as int or uint.}// Adding values to array.{Value a document[a]; // This time we uses non-const reference.Document::AllocatorType allocator document.GetAllocator();for (int i 5; i 10; i)a.PushBack(i, allocator); // May look a bit strange, allocator is needed for potentially realloc. We normally uses the documents.// Fluent APIa.PushBack(Lua, allocator).PushBack(Mio, allocator);}// Making string values.// This version of SetString() just store the pointer to the string.// So it is for literal and string that exists within values life-cycle.{document[hello] rapidjson; // This will invoke strlen()// Faster version:// document[hello].SetString(rapidjson, 9);}// This version of SetString() needs an allocator, which means it will allocate a new buffer and copy the the string into the buffer.Value author;{char buffer2[10];int len sprintf(buffer2, %s %s, Milo, Yip); // synthetic example of dynamically created string.author.SetString(buffer2, static_castSizeType(len), document.GetAllocator());// Shorter but slower version:// document[hello].SetString(buffer, document.GetAllocator());// Constructor version: // Value author(buffer, len, document.GetAllocator());// Value author(buffer, document.GetAllocator());memset(buffer2, 0, sizeof(buffer2)); // For demonstration purpose.}// Variable buffer is unusable now but author has already made a copy.document.AddMember(author, author, document.GetAllocator());assert(author.IsNull()); // Move semantic for assignment. After this variable is assigned as a member, the variable becomes null.// 4. Stringify JSONprintf(\nModified JSON with reformatting:\n);StringBuffer sb;PrettyWriterStringBuffer writer(sb);document.Accept(writer); // Accept() traverses the DOM and generates Handler events.puts(sb.GetString());return 0; }运行结果 SAX接口示例 #include rapidjson/document.h // rapidjsons DOM-style API #include rapidjson/prettywriter.h // for stringify JSON #include rapidjson/reader.h #include rapidjson/error/en.h #include iostream #include string #include mapusing namespace std; using namespace rapidjson;typedef mapstring, string MessageMap;#if defined(__GNUC__) RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_OFF(effc) #endif#ifdef __clang__ RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_OFF(switch - enum) #endifstruct MessageHandler : public BaseReaderHandlerUTF8, MessageHandler {MessageHandler() : messages_(), state_(kExpectObjectStart), name_() {}bool StartObject() {switch (state_) {case kExpectObjectStart:state_ kExpectNameOrObjectEnd;return true;default:return false;}}bool String(const char* str, SizeType length, bool){switch (state_) {case kExpectNameOrObjectEnd:name_ string(str, length);state_ kExpectValue;return true;case kExpectValue:messages_.insert(MessageMap::value_type(name_, string(str, length)));state_ kExpectNameOrObjectEnd;return true;default:return false;}}bool EndObject(SizeType) { return state_ kExpectNameOrObjectEnd; }bool Default() { return false; } // All other events are invalid.MessageMap messages_;enum State{kExpectObjectStart,kExpectNameOrObjectEnd,kExpectValue}state_;std::string name_; };#if defined(__GNUC__) RAPIDJSON_DIAG_POP #endif#ifdef __clang__ RAPIDJSON_DIAG_POP #endifstatic void ParseMessages(const char* json, MessageMap messages) {Reader reader;MessageHandler handler;StringStream ss(json);if (reader.Parse(ss, handler))messages.swap(handler.messages_); // Only change it if success.else {ParseErrorCode e reader.GetParseErrorCode();size_t o reader.GetErrorOffset();cout Error: GetParseError_En(e) endl;;cout at offset o near string(json).substr(o, 10) ... endl;} }int main() {MessageMap messages;const char* json1 { \greeting\ : \Hello!\, \farewell\ : \bye-bye!\ };cout json1 endl;ParseMessages(json1, messages);for (MessageMap::const_iterator itr messages.begin(); itr ! messages.end(); itr)cout itr-first : itr-second endl;cout endl Parse a JSON with invalid schema. endl;const char* json2 { \greeting\ : \Hello!\, \farewell\ : \bye-bye!\, \foo\ : {} };cout json2 endl;ParseMessages(json2, messages);return 0; } 4.更多参考 libVLC 专栏介绍-CSDN博客 QtFFmpegopengl从零制作视频播放器-1.项目介绍_qt opengl视频播放器-CSDN博客 QCharts -1.概述-CSDN博客
http://www.sczhlp.com/news/224541/

相关文章:

  • 公司网站制作设广州网站开发怎么做
  • 网站制作好后 怎样上线专业做网站建设公司哪家好
  • 企业公示网北京网站seo设计
  • 重庆营销型网站制作休闲度假村网站建设方案
  • 做网站的好公司有哪些深圳网站定制深圳网站建设公司
  • 如何网上做个人广告东莞市网络seo推广服务机构
  • 网站焦点图怎么做链接长春做网站哪家好
  • 企业自建网站营销万网阿里云域名查询
  • 马克·扎克伯格大学做的网站百度推广登录入口电脑
  • 织梦网站后台logo删除wordpress安全狗
  • 网站建设最基础是什么企业网站建设一站式服务
  • 在线做插画的网站织梦app网站模板
  • apache搭建多个网站南昌网站建设优化推广费用
  • 做母婴产品的网站网站搭建免费域名
  • 网站专业优化公司免费制作软件官网
  • 网站开发技术协议商标注册程序
  • 响应式网站茶叶网站设计师导航
  • 制冷设备东莞网站建设网站开发人员名片
  • 做网站约需要多少钱wordpress时间格式
  • 网站建设猫腻网站设计是做什么的
  • 网站前台后台哪个好安卓app用什么语言开发
  • 企业网站开发哪家专业网站可以同时做竞价和优化吗
  • 网站前台模板下载安徽建设工程信息网平台
  • 湖南长大建设集团股份有限公司网站wordpress制作网站
  • 快速优化网站排名的方法厦门网站建设公司排名
  • 0317网站建设wordpress ajax评论图片
  • 好的文化网站模板下载北京专业的网络seo
  • 做个外贸网站网站增加关键词
  • 昆明建设网站多少钱云服务器怎么建立网站
  • 建网站价格网unn建站