静态库和动态库 一、库本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。但windows和linux的本质不同,因此二者库的二进制是不兼容的。linux下的库有两种:静态库和动态库(共享库)。二、静态库程序编译时(即把相关的库)加载到程序中。*程序在运行时与函数库再无瓜葛,移植方便*浪费空间和资源,因为所有相关的对象文件与牵涉到的函数库被链接合成一个可执行文件。 静态库的命名:...
文件和目录(3) 1.用户信息(1)功能:根据用户id,到/etc/passwd文件下解析获得的结构体信息参数:uid:用户id,通过stat()函数得到返回值:成功:返回id对应的用户信息,即指向passwd结构体的指针失败:返回NULL(2)功能:根据用户id,到/etc/passwd文件下解析获得的结构体信息参数:name:指定要找谁的信息返回值:成功:返回passwd的结...
文件和目录(2) 1.文件属性的获取(1)功能:都可以获取文件/目录的属性信息。stat:返回文件相关的信息结构fstat:获得在该文件描述符打开的文件的相关信息lstat:类似于stat,但当命名的文件是一个符号链接时,lstat返回该符号链接的有关信息,而不是由该符号链接引用的文件信息参数:path:文件的路径fd:文件描述符buf:存放属性信息的空间的首地址返回值:成功:返回0;...
文件和目录(1) 1.打开目标目录2.读取目录3.关闭目录(1)功能:打开一个目录获得一个目录流指针DIR*(指向整体)参数:name:目录名返回值:成功:返回目录流指针失败:返回NULL(2)功能:从目录流中读取文件信息并返回保存信息的结构体地址。dirent*:目录入口指针参数:dirp:opendir的返回值,即目录流指针返回:成功:返回保存文件信息的结构体失败或读到目录...
两种I/O比较 文件I/O标准I/O非缓冲I/O缓冲I/O文件描述符(int)流(FILE*)open()fopen()/freopen()/fdopen()read()fread()/fgets()/fgetc()…write()fwrite()/fputs()/fputc()…lseek()fseek()/ftell()/rewind()/fset...
文件IO 1.文件io的介绍操作系统为了方便用户使用系统功能而对外提供的一组系统函数,2.文件io特性(1)没有缓存区(2)操作对象不是流,而是文件描述符>>文件描述符:很小的非负整数(大小0-1023);内核每打开一个文件就会获得一个文件描述符。每个程序在启动时操作系统默认为其打开三个与流对象对应的描述符:0 ==> STDIN_FILENO ==> stdi...
标准IO(2) 1.文件缓冲定义 :内存中为每个正在使用的文件开辟一个缓冲区,向磁盘输出数据或从磁盘中读数据,都要先到内存缓存区,再从缓存区一批批地写入或读出分类:全缓存,行缓存,无缓存(1)全缓存:大小为4k,主要用于文件的读写对普通文件进行标准IO操作,建立的缓存一般为全缓存刷新缓存区的条件:*1.缓存区满4096字节刷新*2.程序结束刷新*3.fflush来刷新 fflush(fp)e...
标准IO(1) 1.标准IO的介绍:标准IO库由ANSI C标准说明标准IO在UNIX上是对文件IO的封装IO:Input,Output2.流和FILE对象:FILE:每个被使用的文件都在内存中开辟一个区域,用来存放文件的有关信息,这些信息是保存在一个结构体类型的变量中,该结构体类型是由系统定义的,取名为FILEFILE 结构定义的对象 FILE * 称之为流对象,也叫文件流指针。流 (stream...
linux常用的shell命令 一.Linux操作系统基本命令1.ls 列出目录内容-l 把目录包含的每一项的大小,作者,权限等具 体信息列出来-a 不忽略 . 和 …-F 把文件、目录、可执行文件等区分开来(/目录,可执行文件)-h 与-l连用,列出为人类可读语言2.touch创建新文件可用vi / vim 代替3.rm 删除文件或文件夹rm -i 会先询问是否删除rm ...
shell脚本编程 shell脚本的本质就是一系列shell命令的集合。1.shell脚本的编写流程:(1)创建一个XX.sh文件(2)编写脚本(开头必须有#!/bin/bash,等号两边不能有空格)eg:#!/bin/bashName='zhangsan'echo "hello $Name"==>输出:hello zhangsan(3)在运行前chmod +x XX.sh(4)运行脚本...