linux 中的文件的操作
1.打开:fd=open("/tmp/test.c",O_CREAT|O_WRONLY,0640);
fd:文件描述符
O_CREAT:表示创建,后面要跟上文件的权限 O_WRONLY:表示只写
类似的还有:O_RDONLY(只读)、O_APPEND(追加到文件尾,但是并不写)
O_TRUNC (清空)
2、读:read(fd,buf,sizeof(buf));
fd:文件描述符
buf:读取后存放的地址;
sizeof(buf):存放内容的空间大小;
3、写:write(fd,buf,sizeof(buf));
fd:文件描述符
buf:把该地址所存放的内容写到fd所指的文件中;
sizeof(buf):存放内容的空间大小;
4、文件的随机存取(lseek(fd,offest,whence))
fd:文件描述符
offest:偏移量
whence:(基准点)
(1)、SEEK_SET:从文件头开始
(2)、SEEK_CUR:从文件的当前位置
(3)、SEEK_END:文件的末尾
c语言中文件操作
1、FILE *fp;定义文件的句柄
fp=fopen("/tmp/test.c","w");
第二个参数代表权限,分别有:
w:以只写方式打开一个文件,如果文件已经存在,就清空,但是如果文件不存在,并不自动创建一个文件;
w+:以读和写方式打开一个文件,如果文件存在,就先清空,如果不存在,就自动创建一个新文件;
r:以只读方式打开一个文件,文件指针指向文件开头
r+:以读和写方式打开一个文件
a:追加
a+:不存在时会自动创建一个新文件
2、按字符读写文件
FILE *fp;
c=fgetc(fp) 获取一个字符 《=====》c=getc(fp);
fputc(c,fp) 写一个字符到文件中 <<====>> putc(c,fp)
3、按字符串读写文件
FILE *fp;
c=fgets(char *s,size,fp); 获取一个字符串,以回车结束 或者文件结束符EOF 结束
fputs(char *s,fp); 写一个字符串到文件中
4、按数据块读取文件
FILE *fp;
fread(buf,size,num,fp);
buf:读取后存放的地址;
size:一次的读取的大小;
num:读取的块数;
5、文件的格式化输入输出
FILE *fp;
fprintf(fp,"%d",a);
fscanf(fp,"%d",&a);
第一个参数文件句柄,后面的和printf,scanf一模一样
6、文件的随机存取
FILE *fp;
fseek(fp,offset,whence);
offset:文件的偏移量
whence:(基准点)
(1)、SEEK_SET:从文件头开始
(2)、SEEK_CUR:从文件的当前位置
(3)、SEEK_END:文件的末尾