You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中ofstream无法创建文件,直接运行.exe程序正常

解决VSCode中fstream无法创建文件但直接运行exe正常的问题

问题现象

  • 在VSCode里运行调试时,执行std::ofstream file("empty.txt")不会在代码所在目录生成文件
  • 直接双击生成的.exe程序,却能正常在exe所在目录创建empty.txt

示例代码

#include <fstream> 

int main()
{
    std::ofstream file("empty.txt");
}

环境信息

  • 编辑器:Visual Studio Code
  • 编译器:MinGW-w64 (MSYS2)
  • 系统:Windows 10

问题原因

你的launch.json和tasks.json里把程序运行的工作目录(cwd)设置成了C:\\msys64\\mingw64\\bin,所以程序运行时会在这个目录下创建empty.txt,而不是你预期的代码所在目录。你可以去这个路径下查看,文件其实已经生成了。

解决方案

把两个配置文件里的cwd改成代码文件所在的目录,用VSCode的内置变量${fileDirname}即可:

  1. 修改launch.json中的cwd字段:
"cwd": "${fileDirname}",
  1. 修改tasks.json中options下的cwd字段:
"options": {
    "cwd": "${fileDirname}"
},

修改完成后,在VSCode中运行程序,empty.txt就会生成在你的代码文件夹里了。如果需要固定路径,也可以直接写绝对路径(比如"D:\\MyProjects\\CppTest"),但用${fileDirname}更灵活,能适配不同位置的代码文件。

内容的提问来源于stack exchange,提问作者Gawron52

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 12:45:45