为了简化CSDN写博客的字体问题,给出一段代码,用于处理使用默认格式写完博客后,处理一次来解决字体问题。

代码片段

代码片段如下所示:

#include <iostream>
#include <string>
#include <fstream>
#include <strstream>
#include <vector>
#include <algorithm>

using namespace std;

int main(int argc, char **argv)
{
  if (3!=argc)
  {
    cerr << "[ ERROR ] error using this application" << endl;
    cerr << "[ HELP  ] " << argv[0] << " " << "inpute_filename output_filename"  << endl;
    return -1;
  }
  vector<wstring> newFileContains;

  wifstream infile(argv[1], wifstream::ios_base::in);
  if (!infile.is_open())
  {
    cerr << "[ ERROR ] failed to open the file of " << argv[1] << endl;
    return -1;
  }
  wstring lines;
  int cpos;
  while(!infile.eof())
  {
    std::getline(infile, lines);

    cpos = lines.find(wstring(L"<p>"));
    if (cpos!=wstring::npos)
    {
      lines.append(L"<span style=\"font-family:Microsoft YaHei;font-size:16px;\">");
      wcout << lines << endl;
      newFileContains.push_back(lines);
      continue;
    }
    cpos = lines.find(wstring(L"</p>"));
    if (cpos!=wstring::npos)
    {
      lines.insert(0, wstring(L"</span>"));
      wcout << lines << endl;
      newFileContains.push_back(lines);
      continue;
    }
    newFileContains.push_back(lines);
  }
  infile.close();

  wofstream oufile(argv[2], wofstream::ios_base::out);
  if (!oufile.is_open())
  {
    cerr << "[ ERROR ] failed to open the file of " << argv[2] << endl;
    return -1;
  }
  for (size_t i = 0; i < newFileContains.size(); i++)
  {
    oufile << newFileContains[i] << endl;
  }
  oufile.close();
  return 0;
}

使用方法

当然应该先编译上面的代码,做成可执行程序。

第二步,在CSDN写博客,写完之后点击下图中红色箭头指示的位置。

点击后,全选编辑框中的内容,拷贝到txt文件中,在命令行中执行编译好的可执行程序。将输出文件的内容覆盖掉自己刚才选中的内容。

再调整

有些地方可能会有问题,比如代码后面的行,手动调整下就好了。至于标题,也是要自己修改的。

【C++】处理CSDN博文源码的更多相关文章

  1. Dubbo 源码分析 - 集群容错之 LoadBalance

    1.简介 LoadBalance 中文意思为负载均衡,它的职责是将网络请求,或者其他形式的负载"均摊"到不同的机器上.避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况.通 ...

  2. Mybatis源码解析优秀博文

    最近阅读了许久的mybatis源码,小有所悟.同时也发现网上有许多优秀的mybatis源码讲解博文.本人打算把自己阅读过的.觉得不错的一些博文列出来.以此进一步加深对mybatis框架的理解.其实还有 ...

  3. [csdn markdown]使用摘记一源码高亮及图片上传和链接

    本文主要内容是体验csdn markdown的代码块高亮显示和图片链接及上传. 图片上传 上边这是标题行.仅仅须要使用一个#就能够表示.几个表示是几级标题 图片上传 本地图片上传控件 本地图片上传方式 ...

  4. soundtouch源码分析__based on csdn :

    1. soundtouch介绍和相关资源 The SoundTouch Library Copyright © Olli Parviainen 2001-2014 SoundTouch is an o ...

  5. Android源码博文集锦1

    Android精选源码 功能齐全的实用Android视频播放器 实现滑动到底部,加载更多RecyclerViewDemo 使用Kotlin语言编写Android MVP案例KotlinMVPDemo ...

  6. Android精品源码与技术博文

    Android精品源码android遵循Material Design风格天气源码基于exoplay 自定义播放器 支持直播 1 ExoUserPlayer 基本播放器...几种动画效果Animati ...

  7. 安卓巴士android源码、博文精选1

      每周精选 第 53 期   精品源码 Android开源项目--CookMan 厨客APP     简介CookMan,厨客,是一款查询.搜索.分类.收藏菜谱功能的APP.|52数据来源Mob A ...

  8. Android源码博文集锦2

    Android精选源码 android简单易用的Gallery android漂亮的加载效果 这可能是RxJava 2.x 最好的入门教程示例代码 android图片可拖拽排序 android用几行代 ...

  9. Android源码博文集锦4

    Android精选源码 一款常见的自定义加载动画 android开源记账项目CoCoin Android自定义view:拖拽选择按钮 Android指纹识别 一个折线图,它提供了几个非常实用的功能 一 ...

随机推荐

  1. rf常用关键字总结

    上传文件choose file 用法:choose file     元素定位          文件路径\\文件名 此处注意:复制的路径是/,需全部替换成\\ 清除Clear Element Tex ...

  2. shell编程-项目部署(二)

    上节我们讲了项目部署的准备工作,现在具体讲下代码部署 首先梳理下思路,大致是这样: 获取代码 打包代码 传输代码 关闭应用 解压文件 放置文件(备份老文件,放置新的文件) 开启应用 最后检查下 OK, ...

  3. [NOIp 2014]飞扬的小鸟

    Description Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或者掉 ...

  4. ●BZOJ 1444 [Jsoi2009]有趣的游戏

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1444题解.1: 概率dp,矩阵乘法,快速幂. 对所有串建立AC自动机, 那么如果在trie树 ...

  5. operator[] 和 insert

    operator[] 和 insert: map的[]操作和其他容器和内置[]没有关系 如果我们通过[]向map中插入or更新值,需要考虑一些东西 1.键已经存在,那么直接进行修改即可 2.键不存在, ...

  6. 【bzoj4444 scoi2015】国旗计划

    题目描述 A 国正在开展一项伟大的计划 —— 国旗计划.这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈.这项计划需要多名边防战士以接力的形式共同完成,为此,国土安全局已经挑选了 NN 名优秀的边防 ...

  7. ●POJ 2079 Triangle

    题链: http://poj.org/problem?id=2079 题解: 计算几何,凸包,旋转卡壳 复杂度O(N^2),(O(N)什么的就不说了,我觉得我看过的O(N)方法正确性都有问题,虽然有些 ...

  8. 【Uva 10269 马里奥与公主的归途】

    ·马里奥n次解救了公主,现在需要从魔王的宫殿返回. ·英文题,述大意:      给定一个点数不超过100的无向图,其中的点分为两类:乡村和城堡. 输入A个乡村,B个城堡(乡村编号1~A,城堡编号A+ ...

  9. [4.14校内训练赛by hzwer]

    来自FallDream的博客,未经允许,请勿转载,谢谢. hzwer又出丧题虐人 4道noi....        很奇怪 每次黄学长出题总有一题我做过了. 嗯题目你们自己看看呗 好难解释 ----- ...

  10. SpringBoot添加自定义拦截器

    拦截器的主要作用是拦截用户的请求并做相应的处理,如判断用户是否登录,用户是否具有操作权限等等. 实现 HandlerInterceptor 接口来拦截请求 public class MyInterce ...