我试图访问一个文件,但我在访问目录时遇到问题。我的窗口是葡萄牙语,所以Área de Trabalho
意味着Desktop
。
#include <stdio.h>
int main() {
FILE *file;
file = fopen("C://Users//gluci//OneDrive//Área de Trabalho//Automatos//teste.txt", "w");
fprintf(file, "abcde");
fclose(file);
return 0;
}
字符串
我试过使用/
,\
,//
,\\
,但似乎没有工作.当我不通过一个特定的目录程序正常工作.
2条答案
按热度按时间kgqe7b3p1#
路径名可以在Windows API调用中使用
\
或/
作为分隔符。当然,\
必须在C字符串中编码为\\
,您尝试过,但不应该使用//
。问题可能与源文件中使用的非ASCII字母
Á
的文件名的编码有关。Windows默认情况下不支持UTF-8编码的文件名,因此如果编辑器使用UTF-8编码C:/Users/gluci/OneDrive/Área de Trabalho/Automatos/teste.txt
,这可能会导致问题。你可以尝试不带口音:
"C:/Users/gluci/OneDrive/Area de Trabalho/Automatos/teste.txt"
您也可以尝试目录的英文名称:
C:/Users/gluci/OneDrive/Desktop/Automatos/teste.txt"
如果这些都不起作用,请仅使用ASCII字母创建一个指向目录
Área de Trabalho
的快捷方式,并在路径名中使用该快捷方式。另外请记住,您可能没有对目标目录的写入权限,并且完整路径也可能不正确。
mxg2im7a2#
对于Windows,你需要一个像“C:\Users\gluci...”这样的字符串,但是要在类似C语言中输入这个字符串,你必须使用“C:\Users\gluci\...”,其中第一个反斜杠转义每对中的第二个。