网站外链隐形框架谁会在掏宝网上做网站
2026/5/21 3:28:59 网站建设 项目流程
网站外链隐形框架,谁会在掏宝网上做网站,武昌做网站哪家专业,机wordpress一、前置基础#xff1a;Linux 文件类型与 man 手册使用 1. Linux 的 7 种文件类型 通过ll命令查看文件属性时#xff0c;第一列的字符标识文件类型#xff0c;具体分类如下#xff1a;标识文件类型说明d目录文件可通过 cd 命令进入#xff0c;如 drwxrwxr-x 10 linux lin…一、前置基础Linux 文件类型与 man 手册使用1. Linux 的 7 种文件类型通过ll命令查看文件属性时第一列的字符标识文件类型具体分类如下标识文件类型说明d目录文件可通过cd命令进入如drwxrwxr-x 10 linux linux 4.0K Sep 6 2021 .vimplus/l软链接文件类似 Windows 快捷方式如lrwxrwxrwx 1 linux linux 27 Sep 5 2021 .vimrc - /home/linux/.vimplus/.vimrc-普通文件包含文本、二进制等如电影、照片、1.c、a.out如-rw-rw-r-- 1 linux linux 3.4K Sep 22 11:28 .vimrc.custom.configc字符设备文件字节流设备有顺序、数据量小绝大多数设备属于此类如crw------- 1 root root 249, 0 Nov 27 17:06 rtc0b块设备文件存储设备U 盘、光盘、硬盘按 512 字节块随机访问如brw-rw---- 1 root disk 8, 0 Nov 27 17:06 sdas套接字文件与网络通信相关p管道文件与进程间通信相关2. man 手册使用查函数 / 命令必备Linux 提供的 man 手册是权威的帮助文档不同章节对应不同类型的内容manman# 查看man手册自身的说明manxxx# 等价于man 1 xxx查看xxx命令1章用户命令man2xxx# 查看xxx系统调用函数2章系统调用man3xxx# 查看xxx标准库函数3章C库函数3. 命令行参数C 程序通过main函数的参数接收命令行输入格式如下// 示例./a.out 1 2 3 4 5 6#includestdio.hintmain(intargc,char*argv[]){// argc命令行参数的总个数包括程序名本身// argv字符串数组存储每个参数内容printf(argc is %d\n,argc);inti0;for(i0;iargc;i){printf(%d %s\n,i,argv[i]);}return0;}二、标准 IOC 库函数标准 IO 是 C 语言封装的文件操作接口带缓冲区跨平台性好核心围绕FILE*文件流指针操作。1. 文件打开fopenFILE*fopen(constchar*pathname,constchar*mode);①pathname文件路径 文件名如./test.txt②mode打开模式不同模式的规则如下模式说明注意事项r只读读写指针起始位置文件开头目标文件必须存在否则失败r读写读写指针起始位置文件开头目标文件必须存在否则失败w只写读写指针起始位置文件开头文件不存在则创建存在则清空内容w读写读写指针起始位置文件开头文件不存在则创建存在则清空内容a追加写读写指针起始位置文件末尾文件不存在则创建只写a追加写/读写在末尾、读在开头文件不存在则创建③返回值成功返回FILE*指针包含文件属性、读写位置等失败返回NULL。2. 文件读写核心函数1字符级读写// 写一个字符成功返回写入的字符失败返回EOFintfputc(intc,FILE*stream);// 读一个字符成功返回读到的字符失败/文件结尾返回EOFintfgetc(FILE*stream);2行 / 字符串级读写// 写字符串成功返回非负数失败返回EOFintfputs(constchar*s,FILE*stream);// 读一行成功返回s指针失败/文件结尾返回NULL// size最多读取的字符数建议≥实际内容长度char*fgets(char*s,intsize,FILE*stream);3自定义大小读写二进制 / 文本通用// 读文件返回实际读取的字节数0表示结尾-1表示失败size_tfread(void*ptr,size_tsize,size_tnmemb,FILE*stream);// 写文件返回实际写入的字节数size_tfwrite(constvoid*ptr,size_tsize,size_tnmemb,FILE*stream);3. 文件关闭fcloseintfclose(FILE*stream);①必须调用fopen会向系统申请资源fclose用于释放资源避免内存泄漏。②返回值成功返回 0失败返回 EOF。4. 标准流指针系统默认打开Linux 启动程序时默认打开 3 个标准流指针无需手动fopen流指针说明示例stdin标准输入默认键盘fgets(s, sizeof(s), stdin);stdout标准输出默认屏幕fputs(s, stdout);stderr标准错误输出默认屏幕fprintf(stderr, xxx error\n);5. 文件定位fseek/ftell/rewind用于调整文件读写指针位置仅支持普通文件不支持设备文件// 偏移读写指针成功返回0失败返回-1intfseek(FILE*stream,longoffset,intwhence);// whence取值SEEK_SET(开头)、SEEK_CUR(当前)、SEEK_END(末尾)// 示例fseek(fp, 0, SEEK_SET); // 指针回到开头// 获取当前指针偏移量字节成功返回偏移量失败返回-1longftell(FILE*stream);// 复位指针到文件开头等价于fseek(fp,0,SEEK_SET)voidrewind(FILE*stream);6. 标准 IO 的缓冲区机制标准 IO 的核心特性是带缓冲区分为三类缓冲区类型大小适用场景刷新条件行缓冲1K1024 字节终端交互stdout1. 遇到\n2. 缓冲区满 3. 程序结束 4.fflush刷新全缓冲4K4096 字节文件读写1. 缓冲区满 2. 程序结束 3.fflush刷新无缓冲0K错误输出stderr直接输出无缓存手动刷新缓冲区fflush(FILE *stream)如fflush(stdout)、fflush(fp)三、文件 IO系统调用文件 IO 是 Linux 内核提供的系统调用无缓冲区直接操作文件描述符int 类型适合设备文件操作。1. 核心区别标准 IO vs 文件 IO特性标准 IO文件 IO接口类型C 库函数跨平台系统调用Linux 专属操作句柄FILE*文件流指针int文件描述符缓冲区自带缓冲区行 / 全 / 无无缓冲区适用场景普通文件文本 / 二进制设备文件、高性能场景底层关系封装文件 IO 实现直接调用内核接口2. 文件打开open#includefcntl.hintopen(constchar*pathname,intflags,mode_tmode);①flags必选基础模式O_RDONLY只读、O_WRONLY只写、O_RDWR读写扩展模式O_CREAT创建文件、O_TRUNC清空文件、O_APPEND追加②mode仅O_CREAT时需要文件权限如 0644③返回值成功返回文件描述符非负整数失败返回 - 1。注最终文件权限是mode-maskmask00023. 文件读写read/write// 读文件返回实际读取字节数0结尾-1失败ssize_tread(intfd,void*buf,size_tcount);// 写文件返回实际写入字节数-1失败ssize_twrite(intfd,constvoid*buf,size_tcount);fdopen 返回的文件描述符buf数据缓冲区count期望读写的字节数。4. 文件关闭closeintclose(intfd);注释放文件描述符资源成功返回 0失败返回 - 1。四、目录操作Linux 中目录也是一种文件需通过专用函数操作1. 操作步骤打开目录 → 读取目录内容 → 关闭目录2. 核心函数#includedirent.h// 1. 打开目录成功返回DIR*目录流指针失败返回NULLDIR*opendir(constchar*name);// 2. 读取目录成功返回dirent结构体指针失败/结尾返回NULLstructdirent*readdir(DIR*dirp);// dirent结构体核心字段d_name文件名、d_type文件类型// 3. 关闭目录成功返回0失败返回-1intclosedir(DIR*dirp);注文件名是字符串类型五、Makefile工程编译管理Makefile 是 Linux 下的工程管理工具实现 “一键编译”解决多文件编译的繁琐问题。1. 核心规则目标依赖 TAB 编译规则必须以TAB开头2. 版本演进示例版本 1基础版a.out:main.c func.c gcc main.c func.c-o a.out # 清除编译产物无依赖 clean:rm-f a.out版本 2内置变量版a.out:main.c func.c gcc $^-o $ # $^所有依赖文件$目标文件 clean:rm-f $版本 3自定义变量版推荐# 自定义变量 SRCmain.c func.c # 源文件列表 APPa.out # 目标程序名 FLAG-g # 编译选项-g调试信息 # 编译规则 $(APP):$(SRC)gcc $^-o $ $(FLAG)# 清除规则 clean:rm-f $(APP)3. 常用命令make # 编译生成目标文件如a.out未修改源文件则提示up to datemake clean # 执行clean规则清除编译产物六、总结Linux 文件操作的核心逻辑标准 IOC 库带缓冲、跨平台适合普通文件核心是FILE*文件 IO系统调用无缓冲、高性能适合设备文件核心是文件描述符目录操作专用opendir/readdir/closedir函数Makefile简化多文件编译掌握变量和规则即可应对基础场景。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询