markdown 代码导入程序

markdown 代码导入程序,第1张

markdown语法@import "path"支持,

#include 
#include 
using namespace std;

void import(ofstream &fout, ifstream &tmpfile, string filename) {

    char ch;
    tmpfile.open(filename);
    if (!tmpfile.is_open()) return;
    fout << "```" << filename.substr(filename.rfind('.') + 1) << '\n';
    while ((ch = tmpfile.get()) != EOF) {
        fout.put(ch);
    }
    fout << "\n```\n";
    tmpfile.close();
}

int main() {
    string root, filename;
    ifstream fin, tmpfile;
    ofstream fout;
    char ch;
    cout << "请输入工作目录:\n";
    cin >> root;
    cout << "请输入目标文件:\n";
    cin >> filename;
    fin.open(root + filename);
    filename.insert(filename.rfind('.'), 2, '_');
    fout.open(root + filename);
    while ((ch = fin.get()) != EOF) {
        if (ch == '@') {
            fin >> filename >> filename;
            import(fout, tmpfile, string(filename.begin() + 1, filename.end() - 1));
        } else
            fout.put(ch);
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/915356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存