c语言 文件访问
几个函数:
FILE *fp;//定义一个文件类型的指针FILE *fopen(char *filename,char *RWAmode);//访问文件,返回FILE类型的指针。参数从名字可以看出来,filename是文件名,RWAmode是访问方式:读(r)、写(w)、追加(a)int getc(FILE *fp);//返回fp指向的输入流中的下一个字符int putc(int c,FILE *fp);与上面相反,将字符c写入,并返回写入的字符;如果写入出错,则返回EOFfclose(FILE *fp);与fopen相反,关闭文件。有两个作用,一是释放文件指针,二是清理缓冲区,在java中也有类似的情况
举个例子,cat命令的实现:
#include <stdio.h>int main(int argc,char *argv[]){if(argc == 1){printf("usage:cat filename\n");return 0;}FILE *fp;// filename is argv[1]fp = fopen(argv[1],"r");if(fp==NULL){printf("read file error!\n");return 1;}int c;while((c=getc(fp))!=EOF){putchar(c);}return 0;}注意:
1、如果打开一个不存在的文件,模式是写或者追加的话,该文件会被创建;如果模式为读的话,会报错
2、写模式是覆盖原来的文件,追加是在原来文件内容的后面接着写入