将文件 (.dat) 中的 to/read 保存在 C 中的子文件夹中
Save to/read from file (.dat) in a subfolder in C
我主要是尝试从 C 的子文件夹中的文件写入 to/read。相关文件夹位于 C:/users/me/Test/
。
可以在下面找到我的微弱尝试的一个例子。
<dirent.h>
已被收录。
DIR *dirPS = opendir("/me/Test/");
int m1[2][2] = {{7,2},{4,3}};
FILE *fout = fopen("m1.dat", "wb");
fwrite(m1, sizeof(m1), 1, fout);
fclose(fout);
所有文件都在 me
而不是 me/Test
下。
请帮忙?
All files end up under me and not under me/Test.
看起来您是 运行 您的程序,当前目录位于 "C:/users/me"。
您可以使用:
FILE *fout = fopen("Test/m1.dat", "wb");
在 "C:/users/me/Test".
下创建文件
您不要将 opendir()
用于此用例。它没有任何帮助。
在执行此操作之前,请确保该目录存在并且您有权在其中创建文件。
opendir()
函数不改变工作目录。它只是为您提供一个句柄,您可以通过该句柄检查目录条目。您可以改为使用 chdir()
,但最好在打开文件时简单地指定完整路径:
FILE *fout = fopen("/me/Test/m1.dat", "wb");
如果当前工作目录在不同的驱动器上,这可能仍然会让您感到困惑,但否则它应该可以工作。
我主要是尝试从 C 的子文件夹中的文件写入 to/read。相关文件夹位于 C:/users/me/Test/
。
可以在下面找到我的微弱尝试的一个例子。
<dirent.h>
已被收录。
DIR *dirPS = opendir("/me/Test/");
int m1[2][2] = {{7,2},{4,3}};
FILE *fout = fopen("m1.dat", "wb");
fwrite(m1, sizeof(m1), 1, fout);
fclose(fout);
所有文件都在 me
而不是 me/Test
下。
请帮忙?
All files end up under me and not under me/Test.
看起来您是 运行 您的程序,当前目录位于 "C:/users/me"。
您可以使用:
FILE *fout = fopen("Test/m1.dat", "wb");
在 "C:/users/me/Test".
下创建文件您不要将 opendir()
用于此用例。它没有任何帮助。
在执行此操作之前,请确保该目录存在并且您有权在其中创建文件。
opendir()
函数不改变工作目录。它只是为您提供一个句柄,您可以通过该句柄检查目录条目。您可以改为使用 chdir()
,但最好在打开文件时简单地指定完整路径:
FILE *fout = fopen("/me/Test/m1.dat", "wb");
如果当前工作目录在不同的驱动器上,这可能仍然会让您感到困惑,但否则它应该可以工作。