无法使用 eclipse cdt 在 C/C++ 中打开文件

Can't open a file in C/C++ using eclipse cdt

本文关键字:C++ 文件 eclipse cdt      更新时间:2023-10-16

我有一个使用eclipse开发的中等规模的程序,我无法显示内容,因为它太大了。在某些时候,我有一些fopen行,我基本上是在尝试创建一个新文件并在该文件中打印从某些处理派生的内容。

所以我的台词有点像经典

FILE* f = fopen(filename,"w");

其中filename是一个足够大的字符数组。但是返回的FILE*是 0,当我检查errno时它是数字 2 ,这意味着该文件不存在。

然而,这就是

重点,我正在尝试创建一个新文件。您有什么建议可以进一步检查吗?

值得注意的是,我是在 unix 上运行这些东西,而不是 windows。

文件名的值是绝对路径还是相对路径?如果是后者,那么您运行的进程可能没有您认为的 cwd(当前工作目录)。

  1. 尝试使用绝对路径,如果可行,则
  2. 使用主节点开头的 CHDIR 系统调用来设置 CWD

您的文件名可能构建不正确,或者您无权访问该路径,或者该路径的某些部分不存在。

首先尝试一个简单而明确的合法途径,比如C:\Temp\x.x或类似的东西。 如果这有效,则不是您的代码,而是文件名。