无法使用 C 中的 fopen 访问共享驱动器中的文件(窗口)



>我正在将共享驱动器路径作为输入并添加额外的"\"并分配给变量。如果我使用此变量打开带有"fopen"的文件,则错误被抛出为"没有这样的文件或目录"。

但是如果我在代码本身中给出相同的路径(路径中带有额外的"\"),我就可以访问。

命令: 程序\xyzabc.txt(program_name )

1)我不起作用的代码是这样的:

在程序中,我通过添加额外的"\"将传入的输入路径作为"\\xyz\abc.txt"

然后, fopen(var_name,"r");/* 不工作*/

2)工作正常的代码:

char arr[100] = "\\xyz\abc.txt"
fopen(arr,"r"); /* works fine */

似乎如果路径在编译时本身是已知的,它正在工作,但在运行时不是。请建议我可以做些什么来访问程序中未硬编码的输入的路径。

您需要在编译时转义文件路径中的反斜杠.. 即 "\xyz\abc.txt",但运行时只有一个斜杠。

从用户读取输入的代码段:

字符文件名[50]; 文件 *fp;

printf("输入文件名 "); gets(文件名);

fp = fopen(文件名, "r");

最新更新