请C语言大神帮帮忙,这段代码中 #include<stdio.h> #include<stdlib

请C语言大神帮帮忙,这段代码中 #include<stdio.h> #include<stdlib.h> int main() { int ch; FILE*fp; char fname[50]; printf(“Enter the name of the file:”); scanf(“%s”,fname); fp=fopen(fname,“r”); if(fp==NULL); { printf(“Failed to open file.Bye\n”); exit(1); } while((ch=getc(fp))!=EOF) putchar(ch); fclose(fp); return 0; } 这段代码中的FILE*fp是什么意思啊?fopen函数(这应该是个函数吧)后面的fname是存放文件名的字符组,那“r”又是干什么的啊?大神求教

FILE*fp是定义一个文件指针。
fp=fopen(fname,“r”);
这个函数里的r 是只读的意思(read),
如果是w,那是只写的意思(writer)。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-04
#include<stdio.h> 
#include<stdlib.h> 
int  main() 

   int  ch; 
   FILE *fp; //FILE是一个结构体,定义在stdio.h中 
   char  fname[50];  
   printf( "Enter the name of the file:" ); 
   scanf( "%s", fname); 
   fp = fopen( fname, "r" ); //以只读方式打开文件,fname为完整的文件路径,例如: c:\\123456.txt
   if( fp == NULL ) 
   { 
      printf( "Failed to open file.Bye\n" ); //文件打开失败.
      exit(1); 
   } 
   while( (ch=getc(fp)) != EOF ) //获取文件的每一个字符,判断是否为文件结束符.
   {
      putchar(ch);  //输出每一个字符.
   } 
   fclose(fp); //关闭文件.
   fp = NULL; //防止误操作指针.
   system("pause"); //暂停,以检视结果. 
   return  0; 
}
//代码对齐方式非常重要啊,要加强哦!

第2个回答  2014-06-04
FILE *fp是文件指针,指向硬盘中的文件,r表示以只读的方式打开文件,你不能对打开后的文件进行任何修改,即使修改了也是无效的。
相似回答