c - fopen 尝试访问不同的文件夹

标签 c

我正在学习如何进行文件操作,在使用 fopen 时我似乎遇到了问题。我的项目位于 'C:\Users\Bob\Documents' 中,但是,当我使用 fopen 时,它会保存或尝试从 C:\Users\Bob\Documents\Debug 访问文件。 Debug 是我的文档中的一个文件夹。

  1. 如何让我的程序仅访问 C:\Users\Bob\Documents 中的文件,而不访问 Debug 文件夹中的文件。
  2. 有没有办法指定不同的位置来保存或访问文件,而不是我的项目所在的当前目录。

    int main(){
    
    FILE *fpointer;
    char ch;
    fpointer = fopen("test.txt", "r");
    
    while(1){
        ch = fgetc(fpointer);
        if( ch == EOF){
            break;
        }
        printf("%c", ch);
    }
    
    return 0;
    }
    

最佳答案

由于您没有将路径传递给 fopen ,它将打开当前工作目录中的文件,在您的情况下,该目录恰好是 Debug 目录。

传递完整路径,例如

fpointer = fopen("C:\\Users\\Bob\\Documents\\test.txt", "r");`

或更改工作目录(以编程方式或在 IDE 设置中)。

关于c - fopen 尝试访问不同的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45078103/

相关文章:

c - 从 C# 的背景学习 C

c - 如何将 pthread_t id 保存到数组

c - 结构中包含 char* 指针的二进制文件读/写错误

c - 链表不通过递归调用传播

c - 检测到 glibc - 双重释放或损坏 (!prev)

c - asprintf - 如何在 C 中获取字符串输入

c - 重置指向文件开头的指针

编译和链接纯 C 和 CUDA 代码 [警告 : implicit declaration of function]

android - 使用 execvp 子调用转储 logcat

c - 在函数中传递二维数组 - 从 C 中的函数返回二维数组