windows 为什么我不能在C中访问文件

bqucvtff  于 2023-11-21  发布在  Windows
关注(0)|答案(2)|浏览(174)

我试图访问一个文件,但我在访问目录时遇到问题。我的窗口是葡萄牙语,所以Área de Trabalho意味着Desktop

  1. #include <stdio.h>
  2. int main() {
  3. FILE *file;
  4. file = fopen("C://Users//gluci//OneDrive//Área de Trabalho//Automatos//teste.txt", "w");
  5. fprintf(file, "abcde");
  6. fclose(file);
  7. return 0;
  8. }

字符串
我试过使用/\//\\,但似乎没有工作.当我不通过一个特定的目录程序正常工作.

kgqe7b3p

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的快捷方式,并在路径名中使用该快捷方式。
另外请记住,您可能没有对目标目录的写入权限,并且完整路径也可能不正确。

mxg2im7a

mxg2im7a2#

对于Windows,你需要一个像“C:\Users\gluci...”这样的字符串,但是要在类似C语言中输入这个字符串,你必须使用“C:\Users\gluci\...”,其中第一个反斜杠转义每对中的第二个。

相关问题