【C++】处理CSDN博文源码
为了简化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博文源码的更多相关文章
- Dubbo 源码分析 - 集群容错之 LoadBalance
1.简介 LoadBalance 中文意思为负载均衡,它的职责是将网络请求,或者其他形式的负载"均摊"到不同的机器上.避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况.通 ...
- Mybatis源码解析优秀博文
最近阅读了许久的mybatis源码,小有所悟.同时也发现网上有许多优秀的mybatis源码讲解博文.本人打算把自己阅读过的.觉得不错的一些博文列出来.以此进一步加深对mybatis框架的理解.其实还有 ...
- [csdn markdown]使用摘记一源码高亮及图片上传和链接
本文主要内容是体验csdn markdown的代码块高亮显示和图片链接及上传. 图片上传 上边这是标题行.仅仅须要使用一个#就能够表示.几个表示是几级标题 图片上传 本地图片上传控件 本地图片上传方式 ...
- soundtouch源码分析__based on csdn :
1. soundtouch介绍和相关资源 The SoundTouch Library Copyright © Olli Parviainen 2001-2014 SoundTouch is an o ...
- Android源码博文集锦1
Android精选源码 功能齐全的实用Android视频播放器 实现滑动到底部,加载更多RecyclerViewDemo 使用Kotlin语言编写Android MVP案例KotlinMVPDemo ...
- Android精品源码与技术博文
Android精品源码android遵循Material Design风格天气源码基于exoplay 自定义播放器 支持直播 1 ExoUserPlayer 基本播放器...几种动画效果Animati ...
- 安卓巴士android源码、博文精选1
每周精选 第 53 期 精品源码 Android开源项目--CookMan 厨客APP 简介CookMan,厨客,是一款查询.搜索.分类.收藏菜谱功能的APP.|52数据来源Mob A ...
- Android源码博文集锦2
Android精选源码 android简单易用的Gallery android漂亮的加载效果 这可能是RxJava 2.x 最好的入门教程示例代码 android图片可拖拽排序 android用几行代 ...
- Android源码博文集锦4
Android精选源码 一款常见的自定义加载动画 android开源记账项目CoCoin Android自定义view:拖拽选择按钮 Android指纹识别 一个折线图,它提供了几个非常实用的功能 一 ...
随机推荐
- 机器学习技法:10 Random Forest
Roadmap Random Forest Algorithm Out-Of-Bag Estimate Feature Selection Random Forest in Action Summar ...
- css清除浮动方法小结
清除浮动其实主要解决的就是高度塌陷问题,具体在此不再赘述~~~那些年我们一起清除过的浮动(大佬博客,写的挺不错) 方法小结:1. 1)添加额外标签 这是在学校老师就告诉我们的 一种方法,通过在浮动元素 ...
- [NOI 2010]航空管制
Description 世博期间,上海的航空客运量大大超过了平时,随之而来的航空管制也频频发生.最近,小X就因为航空管制,连续两次在机场被延误超过了两小时.对此,小X表示很不满意. 在这次来烟台的路上 ...
- BZOJ 4260 Codechef REBXOR
Description Input 输入数据的第一行包含一个整数N,表示数组中的元素个数. 第二行包含N个整数A1,A2,…,AN. Output 输出一行包含给定表达式可能的最大值. Sample ...
- ●POJ 1509 Glass Beads
题链: http://poj.org/problem?id=1509 题解: 给出一个字符串,有一个操作:把首字符放到末尾,形成新的串.求任意次操作后,字典序最小的串的首字母在原串中的位置.(这就是最 ...
- hdu 4288 离线线段树+间隔求和
Coder Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- 树莓派超声波测距+蜂鸣器(c语言)
前边我们已经详细的讲解了树莓派控制超声波模块测距(http://www.cnblogs.com/yuemo/p/8888342.html)和超声波控制蜂鸣器模块发声(http://www.cnblog ...
- Java面试题—初级(8)
基本表结构: student(sno,sname,sage,ssex)学生表 course(cno,cname,tno) 课程表 sc(sno,cno,score) 成绩 ...
- curl_multi实现并发
普通请求 curl_normal.php <?php $srart_time = microtime(TRUE); $chArr=[]; //创建多个cURL资源 for($i=0; $i< ...
- Xcode8 添加PCH文件
转自默默desire 1.) 打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > ...