c - '没有这样的文件或目录。'但文件在那里

标签 c file fopen minix

正如标题所暗示的,我正在尝试在与我正在运行的程序相同的目录中打开一个文本文件。这是我正在使用的代码:

int main(int argc, char *argv[]){

    FILE *filePtr;
    filePtr = fopen("something.txt", "r");
    if (filePtr == NULL){
      printf("Oh dear, something went wrong with read()! %s\n", strerror(errno));
      return 1;
    }

  return 0;
}

打印出:

Oh dear, something went wrong with read()! No such file or directory

我也尝试过使用 fopen("./something.txt", "r"); 但发生了同样的事情。

最佳答案

1> 进入程序+可执行文件所在的目录。从那里执行。 2> 如果不是,则可能存在一些与权限相关的问题。 尝试使用 [ int access(const char *pathname, int mode)] API if(access("something.txt", R_OK) == 0)

那么就继续吧。这将检查您是否具有读取权限。如果您有 root 权限,则只能尝试打开。如果没有提供足够的权限。

关于c - '没有这样的文件或目录。'但文件在那里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59513744/

相关文章:

C - libssh 和 sftp - 客户端/服务器 - 创建 sftp session 挂起

c++ - Erlang 和 C/C++ 集成的状态?

windows - 如何检查我在 Windows 上打开了哪些文件?

当已经以 "r+"模式打开时,在 C 中清除/截断文件

c++ - C++程序中打开的文件数

c - 为什么程序永远不会超过 open()?

c - 我应该如何扩展标准功能,例如 C 中的字符串函数?

c++ - 如何以非阻塞方式压缩文件

c++ - 将文件中的数据读入数组 C++ 时循环跳过行

Java Scanner 无法读取我的 txt 文件