【问题标题】:How to open file inside folder in current directory using fopen如何使用fopen打开当前目录中文件夹内的文件
【发布时间】:2015-04-10 12:29:09
【问题描述】:

我想打开一个位于当前工作目录的文件夹中的文件,如下所示:

fopen("/folder/file.txt","r");

我无法以这种方式执行此操作,我收到“没有这样的文件或目录”错误。

我怎样才能正确地做到这一点?

提前感谢您的帮助。

【问题讨论】:

    标签: c fopen


    【解决方案1】:

    你必须提到这是一个当前目录。试试这个,

    fopen("./folder/file.txt","r");
    

    或者

    fopen("folder/file.txt","r");
    

    如果您提到这样的/folder/file.txt,它将从根目录搜索目录。所以这就是出现错误的原因。

    【讨论】:

      【解决方案2】:

      试试:

      fopen("./folder/file.txt","r"); /* dot means the directory itself */
      

      fopen("folder/file.txt","r"); /* without the first backslash */
      

      【讨论】:

        【解决方案3】:

        看来,如果我删除第一个反斜杠就可以了。

        像这样:

        fopen("文件夹/file.txt","r");

        很奇怪。

        【讨论】:

        • 这并不“奇怪”。这很正常。
        • 这并不奇怪,当你说"/folder/file.txt"时,函数会查看根目录下的folder(在UNIX中)
        • 一点也不奇怪。如果文件路径以斜杠开头,则表示您是从根目录查找,而不是从当前目录查找。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多