部落格園圖片居中工具
阿新 • • 發佈:2020-09-11
把typora寫好的文章上傳到部落格園時,預設的圖片對齊方式總是左對齊,看起來總是很彆扭,嘗試用AHK手動替換但效率太低,於是下定決心寫個自動替換程式一勞永逸。
食用方法:
將下面的程式碼直接複製到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] = '\0'; 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; }
替換前:
替換後: