zoukankan      html  css  js  c++  java
  • 给COCO数据集的json标签换行

    //针对COCO标签只有单行,打开/修改非常慢的问题(虽然本程序跑起来也不快,但至少以后用Notepad++修改起来会快点)

    #include <iostream> #include <fstream> #include <string> #include <vector> using namespace std; int main(){ ifstream src("原.json"); ofstream dst("新.json"); string getall; getline(src, getall); string space = " "; size_t count_of_space = 0; size_t n = getall.size(); bool inmark = false; for (size_t i = 0; i < n; ++i){ char c = getall[i]; if (c < 1)break; //printf("%c[%d/%d] ", c, i, n); if (c == '"'){ inmark = !inmark; } if (inmark){ dst << c; continue; } switch (c){ case '[': case '{': count_of_space += 1; dst << c << ' '; for (size_t j = 0; j < count_of_space; ++j)dst << space; break; case ']': count_of_space -= 1; if (count_of_space < 0)count_of_space = 0; dst << ' '; for (size_t j = 0; j < count_of_space; ++j)dst << space; dst << ']'; if (i + 3 < n){ if (getall[i + 1] != ','&&getall[i + 2] != ',')dst << ' '; } break; case '}': count_of_space -= 1; if (count_of_space < 0)count_of_space = 0; dst << ' '; for (size_t j = 0; j < count_of_space; ++j)dst << space; dst << '}'; if (i + 3 < n){ if(getall[i + 1] != ','&&getall[i + 2] != ',')dst << ' '; } break; case ',': dst << ','; case ' ': dst << ' '; if (count_of_space < 0)count_of_space = 0; for (size_t j = 0; j < count_of_space; ++j)dst << space; break; default: dst << c; break; } } return 0; }
  • 相关阅读:
    建造者模式的使用场景
    由于losf引起的pxc启动报错处理
    mysql5.6源码自动安装脚本
    mysql5.7.16二进制安装
    Maven入门
    数据链路层
    图-拓扑排序
    线性表-队列
    线性表-链表
    Java基本概念(未完)
  • 原文地址:https://www.cnblogs.com/aimhabo/p/10413824.html
Copyright © 2011-2022 走看看