关于fopen无法创建带有中文路径的文件问题解决方法
Published on 2024-05-23 15:47 in 分类: C/C++ with 萧海~
分类: C/C++

关于fopen无法创建带有中文路径的文件问题解决方法

    在Windows上使用C标准库函数 fopen 打开包含中文字符的文件路径时,可能会遇到编码问题。这是因为 fopen 不支持宽字符路径。因此,你需要使用Windows特有的 _wfopen 函数,它支持宽字符路径。
    以下是如何使用 _wfopen 来解决这个问题:

    1. 将文件路径转换为宽字符字符串(wchar_t*)。
    2. 使用 _wfopen 打开文件。
      这里是一个示例代码:
    #include <cstdio>
    #include <cwchar>
    #include <locale>
    int main() {
    // 设置区域以支持中文字符
    std::setlocale(LC_ALL, "");
    // 宽字符字符串的文件路径
    const wchar_t* filePath = L"C:/temp/临时/111.bin";
    // 使用 _wfopen 打开文件
    FILE* file = _wfopen(filePath, L"wb+");
    if (!file) {
    wprintf(L"Failed to open file: %ls\n", filePath);
    return 1;
    }
    // 文件操作示例
    // ...
    // 关闭文件
    fclose(file);
    return 0;
    }
    posted @   萧海~  阅读(812)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · winform 绘制太阳,地球,月球 运作规律
    · 震惊!C++程序真的从main开始吗?99%的程序员都答错了
    · 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
    · 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
    · 上周热点回顾(3.3-3.9)
    历史上的今天:
    2022-05-23 Leetcode 804. 唯一摩尔斯密码词(可以,一次过)
    2022-05-23 Leetcode 868. 二进制间距
    2021-05-23 3 万字 + 100 张图带你彻底搞懂 TCP 面试题(强烈建议收藏)
    2021-05-23 MFC OpenCV:显示图片的3种方法(详细)
    点击右上角即可分享
    微信分享提示
    电磁波切换