wordpress nodejs版本做神马网站优化
2026/4/5 20:27:56 网站建设 项目流程
wordpress nodejs版本,做神马网站优化,wordpress图片点击放大,莱芜有名的痞子是谁✨道路是曲折的#xff0c;前途是光明的#xff01; #x1f4dd; 专注C/C、Linux编程与人工智能领域#xff0c;分享学习笔记#xff01; #x1f31f; 感谢各位小伙伴的长期陪伴与支持#xff0c;欢迎文末添加好友一起交流#xff01; 一、文件核心认知1.1 文件的基础…✨道路是曲折的前途是光明的 专注C/C、Linux编程与人工智能领域分享学习笔记 感谢各位小伙伴的长期陪伴与支持欢迎文末添加好友一起交流一、文件核心认知1.1 文件的基础属性与分类1.2 进程与打开文件的关系1.3 补充关联系统层面认知二、C语言文件IO2.1 打开文件2.2 思考打开文件所在的位置2.3 写入文件2.4 默认打开的三个流一、文件核心认知1.1 文件的基础属性与分类文件本质文件 内容 属性即使是0KB空文件也占用磁盘空间存储属性。文件分类与核心问题未打开的文件存储在磁盘上核心问题是“存储与管理”——通过分门别类的组织方式实现文件的快速增删查改打开的文件由进程打开核心是研究“进程与文件的关系”也是本文的核心研究目标。1.2 进程与打开文件的关系加载逻辑文件被打开时会加载到内存进程启动时操作系统默认打开 stdin、stdout、stderr 三个文件流一个进程可打开多个文件因此进程与打开的文件是1:n一对多的关系。系统管理逻辑操作系统需管理大量被打开的文件遵循“先描述、再组织”的核心原则描述内核为每个打开的文件创建“文件打开对象”结构体包含文件属性等关键信息组织文件打开对象通过内置指针链接成双链表将对文件的管理转化为对双链表的增删查改操作。1.3 补充关联系统层面认知狭义上文件是磁盘永久存储外设上的存储单元对文件的操作本质是对磁盘的IO广义上Linux“一切皆文件”硬件均被抽象为文件管理文件读写并非直接通过C/C语言实现而是依赖操作系统提供的文件系统调用接口。二、C语言文件IO从“文件小白“到“IO大侠“C语言文件操作全攻略-CSDN博客2.1 打开文件向一个文件写入内容我们肯定得先打开文件但是为了避免文件打开占用内存资源造成资源泄漏所以打开后我们需要关闭文件。这里我们需要使用到两个函数fopenfclosefopenfopen 打开文件失败返回 NULL成功返回指向 FILE 结构体的指针通过该指针操作文件我们在这里仅研究w写、a追加写两种打开方式。fclose这里我们以写的方式打开和关闭文件#includestdio.hintmain(){FILE*fpfopen(hello.txt,w);if(fpNULL){perror(fopen);return1;}fclose(fp);return0;}我们先查看一下当前目录发现是没有hello.c这个文件的然后当我们运行后再查看会发现hello.c的文件出现了。所以当我们以w的方式打开一个不存在的文件的时候他会给我们自动创建一个以这个名字命名的文件2.2 思考打开文件所在的位置我们先更改一下代码这样我们能知道进程的pid码然后就可以使用ls /proc/[进程id] -l命令查看当前正在运行进程的信息进程可通过两个关键符号链接确定路径cwd指向进程当前运行目录exe指向启动进程的可执行文件完整路径。因此进程打开/创建文件时即便文件不带路径操作系统也能通过进程的cwd确定文件的存放位置本质是进程打开文件进程自身知晓路径上下文。注意有绝对路径时操作系统直接按指定的绝对路径创建文件不再拼接cwd路径。2.3 写入文件当我们像写入内如到打开的文件时我们可以使用fwrite()函数fwrite 可向以w/a方式打开的文件写入内容传入参数包括字符串、单份字符串大小、份数、文件流写入字符串时无需将strlen计算的长度1即不写入\0——因为\0是C语言区分字符串的专属规则文件存储的是通用字节流需适配多语言读取仅需写入字符串实际内容即可。#includestdio.h#includesys/types.h#includeunistd.h#includestring.hintmain(){FILE*fpfopen(hello.txt,w);if(fpNULL){perror(fopen);return1;}constchar*messagewbushidaitou\n;//const char* message Hello! Daitou\n;fwrite(message,strlen(message),1,fp);fclose(fp);return0;}当我们重新写入不同的内如发现之前写进去的内容被清空了这是为什么以font stylecolor:rgb(85, 86, 102);background-color:rgb(238, 240, 244);w/font方式fopen打开文件时写入前会先清空文件原有内容后续通过fwrite写入的内容会从头覆盖因此最终文件中仅保留新写入的内容如仅显示Hello! Daitou。我们讲写入的方式从w改成a来试试FILE*fpfopen(hello.txt,a);以a方式fopen打开文件写入保留原有内容仅在文件末尾追加写入新内容不会清空/覆盖原有内容。2.4 默认打开的三个流linux下一切皆文件c语言程序在启动的时候默认会为我们打开三个输入输出流文件stdin是键盘文件c中是cinstdout是显示文件c中是coutstderr是显示器文件c中是cerr其中标准输入流对应的设备就是键盘标准输出流和标准错误流对应的设备都是显示器。查看man手册我们就可以发现stdin、stdout以及stderr这三个家伙实际上都是FILE*类型的。externFILE*stdin;externFILE*stdout;externFILE*stderr;所以我们就可以使用fprintf向显示器文件stdout以及stderr中输入看显示器是否会进行显示fprintf 用法与 printf 类似核心差异在于输出目标printf默认将内容输出到显示屏stdoutfprintf需显式指定输出的文件流如指向 log.txt 的 FILE* 指针可将内容写入任意指定文件。#includestdio.h#includesys/types.h#includeunistd.h#includestring.hintmain(){FILE*fpfopen(log.txt,w);if(fpNULL){perror(fopen);return1;}constchar*messageDaitou\n;fprintf(stdout,%s,message);fprintf(stderr,%s,message);fclose(fp);return0;}因此可直接使用 stdout/stderr如 fprintf (stdout/stderr, …)输出内容到显示器无需手动打开即可操作这也验证了进程启动时默认关联核心输入输出文件的特性。✍️ 坚持用清晰易懂的图解可落地的代码让每个知识点都简单直观座右铭“道路是曲折的前途是光明的”

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

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

立即咨询