-1

我想阅读一个 .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

4 回答 4

4

File *file应该是FILE *file

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

于 2013-07-04T10:39:27.687 回答
4

这个:

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

有两个错误:

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

所以,它应该是:

FILE *file = fopen("C:\\Users\\Admin\\Desktop\\files.txt", "r");
于 2013-07-04T10:40:38.333 回答
3
  • 更改FileFILE
  • 更改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;

测试了这段代码,它工作得很好:)

于 2013-07-04T10:47:48.450 回答
1

您必须转义所有反斜杠写作"C:\\Users\\Admin\\Desktop\\files.txt"

于 2013-07-04T10:38:31.403 回答