关于"文件"的一些疑问(麻烦高手顺序答谢谢)
(麻烦高手顺序答,谢谢!)1.强哥的那本书里讲关于 fgetc()函数时第一句话是:"从指定的文件读入一个字符......"就是这个"读入"一开始我以为是读入到另一个文件,现在发现应该是读入到内存中(已经分配的存储空间,如ch=fgetc(fp);)是吗???
还有fgetc(fp),是自动顺序读取fp文件里面的字符?
2.先看一下强哥书里面的这个例题:
例13.1 从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个"#"为止.
#include
main( )
{FILE?*fp;
char ch,filename[10];
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{printf("cannot open file\n");
exit(0);}
ch=getchar( ); /*接收在执行scanf语句时最后输入的回车符*//*<-这行,上面的 scanf("%s",filename);不存放回车符??*/
ch=getchar( );/*接收输入的第一个字符*/
while(ch!='#')
{
fputc(ch,fp);putchar(ch);
ch=getchar();
}
fclose(fp);
}
3.例13.2将一个磁盘文件中的信息复制到另一个磁盘文件中
#include
main( )
{FILE?*in,?*out;
char ch,infile[10],outfile[10];
printf("Enter the infile name:\n");
scanf("%s",infile);
printf("Enter the outfile name:\n");
scanf("%s",outfile);
if((in=fopen(infile,"r"))==NULL)/*疑问在这里,infile是什么,不就是存放文件名的字符数组的首地址吗!能这样当文件指针用吗??*/
{printf("cannot open infile\n");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{printf("cannot open outfile\n");
exit(0);
}
while(!feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
[此贴子已经被作者于2007-4-8 14:57:11编辑过]