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