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