文件编程
Linux中文件的作用文件IO:一切皆文件!(VFS 虚拟文件管理系统 以此来实现的)-普通文件,d目录文件,c/b设备文件,l链接文件(p管道文件,s套接字(共享文件),f堆栈文件)
为什么要用文件来管理一切?
1、由于要存储大量文件,但如何对这些文件实施有效的管理呢?—文件系统(管理文件的软件,把文件分类管理)
2、Linux根目录简介—根文件系统(根目录)-----bin(普通用户)sbin(管理员)dev(设备文件)etc(配置文件)lib(系统运行的库)usr/lib usr/include usr/sbin usr/bin、home(普通用户)、root(超级用户)、boot、proc、sys
*** 作普通文件:C库函数(相当于中间件)/API(系统调用)
*** 作c/b设备文件:fread fwrite
pwd:在Linux层次结构中,想要知道当前所处的目录,可以用pwd命令,该命令显示整个路径名。
用户空间:fopen
C库:实现fopen()
{
API;(用户编程接口)
}
内核空间:访问文件
文件IO:初级IO(系统调用API
文件),标准IO(库函数),高级IO(文件的高级 *** 作,高级API)
文件IO的重要性
文件ID
动态分配:只要当 *** 作这个文件时,系统才会给你分配文件描述符。关闭就收回。
非负整数:1、从编号3开始 2、0,1,2三个文件秒负数有其他作用
creat
open:C库(可以跨平台)提供的
write:内核提供的
read
lseek
close
经典文件 *** 作–文件拷贝
0/1/2这三个文件描述符
fcntl
loctl
在一个文件里面写东西,再把其内容打印出来。
#include#include int main() { FILE *fp; if((fp=fopen("1.txt","w"))==NULL) { printf("error"); exit(0); } char ch; ch=getchar(); while(ch!='n') { fputc(ch,fp); ch=getchar(); } fclose(fp); fp=fopen("1.txt","r"); ch=fgetc(fp); while(!feof(fp)) { printf("%c",ch); ch=fgetc(fp); } printf("n"); fclose(fp); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)