dev-cpp_to_md.py

import os

def read_cpp(path):
    # Dev-C++ 默认 GBK
    try:
        with open(path, "r", encoding="gbk") as f:
            return f.read()
    except:
        try:
            with open(path, "r", encoding="utf-8") as f:
                return f.read()
        except:
            return ""

def merge_cpp_to_one_md(src_dir):
    desktop = os.path.join(os.path.expanduser("~"), "Desktop")
    output_file = os.path.join(desktop, "all_cpp_merged.md")

    with open(output_file, "w", encoding="utf-8") as out:
        for root, dirs, files in os.walk(src_dir):
            for file in files:
                if file.endswith(".cpp"):
                    cpp_path = os.path.join(root, file)

                    code = read_cpp(cpp_path)
                    if not code:
                        continue

                    # 文件分隔
                    out.write(f"\n# 文件: {file}\n")
                    out.write(f"路径: {cpp_path}\n\n")

                    out.write("```cpp\n")
                    out.write(code)
                    out.write("\n```\n")

    print("完成:已生成单个 md 文件到桌面")


if __name__ == "__main__":
    src_directory = r"F:\C++Note\basic C++\template"#双引号内填写cpp文件的文件夹路径
    merge_cpp_to_one_md(src_directory)