博客园图片居中工具

把typora写好的文章上传到博客园时,默认的图片对齐方式总是左对齐,看起来总是很别扭,尝试用AHK手动替换但效率太低,于是下定决心写个自动替换程序一劳永逸。


貌似可以直接修改博客园的CSS代码直接实现图片居中,以下内容可以不用看了。。。。。。。

食用方法:

将下面的代码直接复制到cpp文件中,找一个喜欢的位置新建一个空白的txt文件。在infile内填入txt的路径。(建议使用绝对路径,方便后续打包直接使用)

然后将程序打包exe,每次使用将.md里的内容复制到txt文件里,然后点击打包好的.exe即可自动替换所有的图片至居中。

不会QT所以不会写成拖入文件直接替换的界面版,以后填这个坑。

#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
#include <windows.h>
using namespace  std;
const string str1 = "<center><img src = "";
const string str2 = ""></center>";
int main() {
    string infile = "YOUR FILE NAME PATH"; // YOUR FILE NAME PATH (.txt) !!!!!
    ifstream in(infile,ios_base::in);
    string line;
    vector<string> vec;
    ifstream in(infile,ios_base::in);
    string line;
    vector<string> vec;
    if(in)
    {
        while(getline(in, line))
        {
            if(line.find("![image-") != line.npos)
            {
                string str = "";
                int f = 0;
                int a1 = line.find('('), a2 = line.rfind(')');
                for(int i = a1 + 1; i < a2; i++)
                {
                    str += line[i];
                }
                str[f] = '';
                str[0] = 'h';    //转换完后我的第一个字母会变成乱码,原因不明,所以手动把第一个改成h
                vec.push_back(str1 + str + str2);
            }
            else
                vec.push_back(line);
        }
        ofstream out(infile);
        for(auto &v : vec)
        {
            out << v << endl;
        }
        MessageBox(NULL,TEXT("替换成功"),TEXT("提示"),MB_OK);
    }
    else
    {
        MessageBox(NULL,TEXT("没找到该文件"),TEXT("提示"),MB_OK);
    }
    return 0;
}

原文地址:https://www.cnblogs.com/linzzz98/p/13654339.html