【问题标题】:How to Change Browsing directory in C Language [duplicate]如何在 C 语言中更改浏览目录 [重复]
【发布时间】:2017-03-26 20:33:17
【问题描述】:

我想在另一个目录中创建一个文件,而不是原始程序的保存位置。

 FILE * fp;
 fp=fopen("a.txt","w");

但我想更改创建/写入文件的目录。

【问题讨论】:

标签: c directory file-handling


【解决方案1】:

这取决于您使用的操作系统类型。

如果您使用的是 Linux 或类似系统,并且您想在目录 /home/username/folder 中创建文件(假设您在该目录中具有写入权限),您可以简单地这样做:

FILE * fp;
fp=fopen("/home/username/folder/a.txt","w");

如果你使用的是Windows,并且你想在C:\Users\username\folder创建一个文件(假设有写权限),你可以这样做:

FILE * fp;
fopen("C:\\Users\\username\\folder\\a.txt", "w");

请注意,在 Windows 平台上,您必须对路径的 \ 字符进行转义,因为当我们在字符串中包含 \(反斜杠)时,它会被解释为转义序列并与下一个字符隐式关联,例如 \n\t。但是由于我们没有使用任何转义序列,并且想要一个实际的\,我们必须为其插入一个转义序列\\

正如@stark 所指出的,我们还可以使用/(正斜杠)代替\\ 来表示字符串内的路径。

【讨论】:

  • Windows 几乎永远接受正斜杠。
  • 好的,谢谢,但我想问你为什么在路径中使用 \\?
  • @CraizeeNube:我已经添加了一个解释。
【解决方案2】:

一般fopen 的语法如下:

fopen("path/to/file", ...)

如果只给出了一个名称,则假定它与可执行文件位于同一文件夹中。因此,如果您想在另一个文件夹中执行操作,您应该像这样放置该文件夹的路径:

fp = fopen("<path>/a.txt", "w");

【讨论】:

    猜你喜欢
    • 2017-03-14
    • 2017-06-15
    • 2016-09-10
    • 1970-01-01
    • 2018-10-30
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多