Linux文件系统调用函数总结

argc和argv参数在用命令行编译程序时有用。main( int argc, char* argv[] ) 中
第一个参数,int型的argc,为整型,用来统计程序运行时发送给main函数的命令行参数的个数,在VS中默认值为1。
第二个参数,char*型的argv[],为字符串数组,用来存放指向的字符串参数的指针数组,每一个元素指向一个参数。各成员含义如下:
argv[0]指向程序运行的全路径名
argv[1]指向在DOS命令行中执行程序名后的第一个字符串
argv[2]指向执行程序名后的第二个字符串
argv[3]指向执行程序名后的第三个字符串
argv[argc]为NULL

函数 参数 说明
creat("file",0644) 文件名,使用权限 返回文件描述符,只可做写操作,不可做读操作
open("file",O_RDONLY) 文件名,动作,许可 O_RDONLY(为只读而打开文件)
O_WRONLY(为只写而打开文件)
O_RDWR(为可读可写而打开文件)
O_APPEND(文件位置移至文件尾,所有write操作写数据至文件尾部)
返回比3大的一个整数
close(fd1) 文件描述字 正常返回值为0,出错为1
read(fd1,buf,512) 文件描述字,缓冲区,最多字节数 正常返回值为字节数,出错为-1
write(fd2,buf,n) 文件描述字,缓冲区,字节数 正常返回值为实际写的字节数,出错为-1
lseek(fid,30,SEEK_CUR) 文件描述字,偏移数目,类型 SEEK_SET 以起始位置往后增加位移量
SEEK_CUR 以目前的读写位置往后增加位移量
SEEK_END 将读写位置指向文件尾后增加位移量
返回相对文件开始的字节数,出错为-1
lockf(fd,1,80) 文件描述字,类型,字节数 F-uLock 0 开锁
F-Lock 1 锁定,若锁定了则进入睡眠
F-TLock 2 测试是否锁定,若已锁定返回-1,若未锁定则锁定它
F-TEST 3 测试是否锁定,若已锁定返回-1,若未锁定返回0
dup(int oldfd)
dup2(int oldfd, int newfd)
文件旧描述字,文件新描述字 返回值可用的最小描述字
指定新描述字,若已经打开则关闭它
fcntl(filedes,F_GETFD,0) 文件描述字,操作类型,第三参数 重复文件描述字(F_DUPFD)
设置/获取描述字标签(F_GETFD/F_SETFD)
设置/获取文件状态标签(F_GETFL/F_SETFL)
出错返回值为-1
函数 参数 说明
fopen("example.txt", "w") 文件名,类型 返回文件流
freopen("example.txt", "r",stream) 文件名,类型,文件流 返回新文件流
fclose(stream) 文件流
fputs("Hello world",stream)) 文件名,文件流
fgets(buf,sizeof(buf),stream) 字符数组,大小,文件流
fgetc(stream1) 文件流 返回为字符强制转换为整数
fputc(c,stream2) 整数,文件流 注意是字符强制转换为整数
getline(&a,&len,fp) 字符串,长度,文件流 成功返回读取的字节数,失败返回-1
fread(buf,sizeof(char),5,from) 存储位置,每一项大小,项数,源文件流
fwrite(buf,sizeof(char),5,to) 取位置,每一项大小,项数,目的文件流
ftell(fp) 文件流 返回指针位置
fseek(fp,30,SEEK_CUR) 文件流,偏移数目,类型 SEEK_SET 以起始位置往后增加位移量
SEEK_CUR 以目前的读写位置往后增加位移量
SEEK_END 将读写位置指向文件尾后增加位移量
ferror(stream) 文件流 错误指示器
feof(stream) 文件流 文件结束指示器
setbuf(stdout, outbuf) 文件流,位置 把缓冲区与流相连
fflush(stdout) 文件流 清空缓冲区

版权声明:本文为weixin_44813180原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>