#include <stdio.h>
/*从键盘输入一些字符,保存在输入的文件名的文件中,直到输入一个'#'为止*/
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语句时最后输入的回车符*/
ch=getchar(); /*接收输入的第一个字符*/
while(ch!='#'){
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
}
/*
Notes:
--------------------
FILE* fp;
fputc(ch,fp); //把一个字符输入到fp指向的文件中
putchar(c) === fputc(c,stdout)
ch=fgetc(fp); //从指定的文件读入一个字符
---------------------
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
buffer:指针,读入或输出数据的首地址
size:要读写的字节数
count:要进行读写多少个size字节的数据项
fp:文件型指针
--------------------
fprintf(文件指针,格式字符串,输出表列);
fscanf(文件指针,格式字符串,输入表列);
eg:
fprintf(fp,"%d,%6.2f",i,t); //把i,t的值输出到fp指向的文件中
fscanf(fp,"%d,%f",&i,&t); //从文件中读入值存入变量i,t中
------------------------
fgets(str,n,fp); //从指定的文件读入一个字符串
fputs(char* , fp);//第一个参数也可为字符串常量,如fputs("china",fp)
-------------------------
rewind(FILE* fp); //使文件读写指针重新返回到文件的开头,无返回值
fseek(FILE* fp,位移量,起始点)
起始点:文件开始(SEEK_SET或0),文件当前位置(SEEK_CUR或1),文件末尾(SEEK_END或2)
位移量表示字节数
i=ftell(FILE* fp); //告诉我们文件读写指针在文件中的当前位置,为-1则出错
*/