文件 - 我收到错误而不是给出正确的路径

时间:2013-07-04 10:36:04

标签: c gcc

我想读一个.txt文件。即使我已经给出了正确的路径,我也会收到以下错误:

Error1: File is undeclared first time use in function 

Error2: file is undeclated first time use in function

\U它正在作为转义序列。请指导我。

#include <stdio.h>
#include <stdlib.h>   
int main(int argc, char *argv[])
{
   File *file = fopen("C:\Users\Admin\Desktop\files.txt", "r");
   char c;
   do 
   {
      c = fgetc(file);
      printf("%c",c);
   }
   while (c != EOF)    
   fclose(file);
   system("PAUSE"); 
   return 0;
}

4 个答案:

答案 0 :(得分:4)

File *file应为FILE *file

fopen("C:\Users\Admin\Desktop\files.txt", "r");应为fopen("C:\\Users\\Admin\\Desktop\\files.txt", "r");

答案 1 :(得分:4)

此:

File *file = fopen("C:\Users\Admin\Desktop\files.txt", "r");

有两个错误:

  1. FILE类型的拼写是全部大写的。请记住,C区分大小写。
  2. 字符串中的反斜杠用于转义控制字符,如果你想要一个文字反斜杠,它必须加倍。
  3. 所以,它应该是:

    FILE *file = fopen("C:\\Users\\Admin\\Desktop\\files.txt", "r");
    

答案 2 :(得分:3)

  • File更改为FILE
  • while (c != EOF);更改为while(!feof(file));
  • ;之后添加分号while
  • 将单个反斜杠\更改为双反斜杠\\

您现在的代码如下:

FILE *file = fopen("C:\\Users\\Admin\\Desktop\\files.txt", "r");
 char c;
 do 
 {
      c = fgetc(file);
      printf("%c",c);
 }
while(!feof(file));  
fclose(file);

system("PAUSE");  
return 0;

测试了这段代码并完美运行:)

答案 3 :(得分:1)

您必须转义所有写入"C:\\Users\\Admin\\Desktop\\files.txt"

的反斜杠