C语言如何更改浏览目录

How to Change Browsing directory in C Language

我想在其他目录中创建一个文件,而不是原始程序所在的目录。

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

但是我想更改 create/write 文件所在的目录。

通常 fopen 的语法如下:

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

如果仅给出名称,则假定它与可执行文件位于同一文件夹中。所以如果你想在另一个文件夹中做一些事情,你应该像这样放置那个文件夹的路径:

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

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

如果您正在使用 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 所指出的,我们还可以使用 /(正斜杠)代替 \.

作为字符串内的路径