当前位置: 首页 > news >正文

上海专业网站建设公/搜索引擎优化方法案例

上海专业网站建设公,搜索引擎优化方法案例,做一视频网站,上海营销型网站seo👍作者主页:进击的1 🤩 专栏链接:【1的Linux】 文章目录 一,初识文件二,文件接口 一,初识文件 文件就是文件内容属性。因此对文件的操作无非就是对文件内容的操作和对文件属性的操作。 我们访问…

👍作者主页:进击的1++
🤩 专栏链接:【1++的Linux】

文章目录

  • 一,初识文件
  • 二,文件接口

一,初识文件

文件就是文件内容+属性。因此对文件的操作无非就是对文件内容的操作和对文件属性的操作。
我们访问文件,都是经过代码–>编译–>运行–>访问文件。这样的步骤。也就是说访问文件本质是进程在进行访问。
文件都是在硬件中放着,向硬件中访问与写入,只有操作系统才有这样的权力。我们普通用户也想写入,只有通过OS提供的接口来进行写入。
我们想想在语言级别中我们是如何对文件进行访问与写入的?------都是通过封装的文件相关的函数就行操作,那为什么不知直接用系统相关的调用函数呢?
原因有如下两点;

  1. 不同OS的系统调用函数不同,如果我们在代码中直接用了某个OS提供的系统调用函数,那么在其他OS下,该代码将会出现错误。因此使用经过语言提供的文件操作函数,可以跨平台。跨平台的方法可以将所有平台的代码都实现一遍,然后经过条件编译,动态裁剪,从而拿到我们当前需要的代码。
  2. 系统调用接口是更为复杂的,因此语言级别的接口都会进行封装,使其更好用。

Linux下一切皆文件。
我们对文件的操作无非就是read/write 。站到进程的角度我们使用printf,打印东西到屏幕上就是一种写:将数据写到屏幕上;使用scanf,进行输入,就是一种读,从键盘中读取数据到变量中。
因此实际上显示器和键盘也是文件。
因此我们可以再来一个小总结:什么是文件呢?

站在系统的角度,能够被写入,或是被读取的 设备就叫文件。狭义来说:就是我们的磁盘文件。广义来说:我们的显示器,键盘,网卡等都是文件。

二,文件接口

#include<stdio.h>
#include<string.h>
int main()
{FILE* fd=fopen("test.txt","w+");fprintf(fd,"zkn\n");char tmp[20];rewind(fd);fscanf(fd,"%s",tmp);fclose(fd);printf("%s\n",tmp);return 0;
}
#include<stdio.h>
int main()
{FILE* fd=fopen("test.txt","w+");char name[]={"zkn\n"};fwrite(name,sizeof(char),sizeof(name),fd);char tmp[10];rewind(fd);//文件写入后再读的话需要将文件内部的位置指针指向开头。fread(tmp,sizeof(char),sizeof(tmp),fd);printf("%s",tmp);fclose(fd);return 0;
}

以上是我们在C语言中常用的文件操作。
下面展示系统的文件操作接口:

打开文件
在这里插入图片描述
在这里插入图片描述
其中flags代表的是打开的方式,mode代表若文件不存在,新创建文件的权限。
下面我们来详细说说flags。

flags为整型,但是实际上我们不能以整型去看待它,而是把它看作位图。也就是说它的每一位都代表了一种选择。
有如下例子:

#include<stdio.h>
#define ONE 0x1
#define TWO 0x2
#define THREE 0x3void show(int flags)
{if(flags& ONE) printf("one\n");if(flags& TWO) printf("two\n");if(flags& THREE) printf("three\n");}
int main()
{show(ONE);printf("--------------------\n");show(ONE|TWO);printf("--------------------\n");show(ONE|TWO|THREE);return 0;
}

在这里插入图片描述
通过上述例子我们就能清楚的了解到flags的用法了。

写文件:

在这里插入图片描述

读文件

在这里插入图片描述
下面是系统文件调用接口的演示:

#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<string.h>
int main()
{// int fd=open("test.txt",O_RDONLY|O_WRONLY|O_CREAT|O_APPEND,0666);int fd=open("test.txt",O_RDONLY);if(fd<0){perror("open");return 1;}const char *name="zkn\n";//write(fd,name,strlen(name));//在写入时不需要把'\0‘也写入--因为那是C语言定义的结束标志,和系统无关.char buffer[32];memset(buffer,'\0',sizeof(buffer));//系统接口在读取时不会自己添加结束符.因此要我们自己添加。read(fd,buffer,sizeof(buffer));printf("%s",buffer);close(fd);return 0;
}

结果:
在这里插入图片描述我们的fopen,fread,fwrite实际上都是调用了系统的这些接口,但是是经过了一些封装的,为了方便我们用户使用。像我们fopen函数中打开方式的参数 w,在系统调用这里则是:包含了读,写,默认清空文件,创建文件。这些参数进行或操作才能够有fopen中的w的功能。

新创建的文件会在当前路径下创建。那么什么叫当前路径呢?
就是进程运行时所处的工作路径
有如下例子:
在这里插入图片描述
我们在上一级路径下运行该程序。

加粗样式我们发现其新建的文件也在次路径下,这也就证明了上述的结论。

相关文章:

【1++的Linux】之文件(一)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的Linux】 文章目录 一&#xff0c;初识文件二&#xff0c;文件接口 一&#xff0c;初识文件 文件就是文件内容属性。因此对文件的操作无非就是对文件内容的操作和对文件属性的操作。 我们访问…...

Kafka 高可用

正文 一、高可用的由来 1.1 为何需要Replication 在Kafka在0.8以前的版本中&#xff0c;是没有Replication的&#xff0c;一旦某一个Broker宕机&#xff0c;则其上所有的Partition数据都不可被消费&#xff0c;这与Kafka数据持久性及Delivery Guarantee的设计目标相悖。同时Pr…...

关于分布式操作系统

关于分布式操作系统&#xff0c;如果你不太理解的话&#xff0c;可以把它看成是传统操作系统延展。二者的区别在于&#xff0c;传统的操作系统都是单机系统&#xff0c;只能在一台计算机上运行&#xff0c;而分布式操作系统是多机系统&#xff0c;每台计算机都是系统中的一个计…...

Pytorch使用DataLoader, num_workers!=0时的内存泄露

描述一下背景&#xff0c;和遇到的问题&#xff1a; 我在做一个超大数据集的多分类&#xff0c;设备Ubuntu 22.04i9 13900KNvidia 409064GB RAM&#xff0c;第一次的训练的训练集有700万张&#xff0c;训练成功。后面收集到更多数据集&#xff0c;数据增强后达到了1000万张。…...

chromedriver下载与安装方法

下载与安装: 1.查看Chrome浏览器版本 首先&#xff0c;需要检查Chrome浏览器的版本。请按照以下步骤进行&#xff1a; 打开Chrome浏览器。 点击浏览器右上角的菜单图标&#xff08;三个垂直点&#xff09;。 选择“帮助”&#xff08;Help&#xff09;。 在下拉菜单中选择“…...

数据库查询详解

数据库查询操作 前置&#xff1a;首先我们创建一个练习的数据库 /* SQLyog Professional v12.09 (64 bit) MySQL - 5.6.40-log : Database - studentsys ********************************************************************* *//*!40101 SET NAMES utf8 */;/*!40101 SET …...

c++视觉ROI 区域和ROI 区域图像叠加

ROI 区域提取和ROI 区域图像叠加 ROI 区域提取 #include <opencv2/opencv.hpp>int main() {// 读取图像cv::Mat image cv::imread("1.jpg");// 检查图像是否成功加载if (image.empty()) {std::cerr << "Error: Could not read the image." …...

scrapy爬虫系列之安装及入门介绍

前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作。但是,更为广泛使用的Python爬虫框架是——Scrapy爬虫。这是一篇在Windows系统下介绍 Scrapy爬虫安装及…...

洛谷刷题:数组

好累&#xff0c;学习令我快乐 一、小鱼比可爱 题目链接&#xff1a;https://www.luogu.com.cn/problem/P1428 题目描述 人比人&#xff0c;气死人&#xff1b;鱼比鱼&#xff0c;难死鱼。小鱼最近参加了一个“比可爱”比赛&#xff0c;比的是每只鱼的可爱程度。参赛的鱼被从…...

【Linux常用命令4】系统状态监测命令---2

last&#xff1a;查看所有系统的登录记录 执行last命令时&#xff0c;它会读取/var/log目录下名称为wtmp的文件&#xff0c;并把该文件记录的登录系统或终端的用户名单全部显示出来。默认显示wtmp的记录&#xff0c;btmp能显示的更详细&#xff0c;可以显示远程登录&#xff0…...

uboot启动流程-uboot代码重定位说明二

一. uboot启动流程 本文学习 uboot 的启动流程中涉及的 uboot 代码重定位部分。 _main 函数中会调用 relocate_code 函数。 relocate_code 函数分两个部分&#xff1a; 1. 拷贝 uboot 代码部分 2. 有关 " 重定位后有关函数调用或全局变量地址的问题"的解决方法…...

<HarmonyOS第一课>ArkTS开发语言介绍——闯关习题及答案

判断题 1.循环渲染ForEach可以从数据源中迭代获取数据&#xff0c;并为每个数组项创建相应的组件。&#xff08; 对 &#xff09; 2.Link变量不能在组件内部进行初始化。&#xff08; 对 &#xff09; 单选题 1.用哪一种装饰器修饰的struct表示该结构体具有组件化能力&#…...

香橙派、树莓派、核桃派、鲁班猫安装jupyter notebook【ubuntu、Debian开发板操作类似】

文章目录 前言一、安装环境二、使用方法总结 前言 香橙派树莓派鲁班猫安装一下调试代码还是比较方便的。 一、安装环境 假设已经安装好了miniconda3。如果还没安装可以参考我另外一篇博文&#xff0c;有写怎么安装。 pip install jupyter notebook # 生成Jupyter Notebook的…...

tomcat整体架构

Tomcat介绍 Tomcat是Apache Software Foundation&#xff08;Apache软件基金会&#xff09;开发的一款开源的Java Servlet 容器。它是一种Web服务器&#xff0c;用于在服务器端运行Java Servlet和JavaServer Pages (JSP)技术。它可 以为Java Web应用程序提供运行环境&#x…...

实现协议互通:探索钡铼BL124EC的EtherCAT转Ethernet/IP功能

钡铼BL124EC是一种用于工业网络通信的网关设备&#xff0c;专门用于将EtherCAT协议转换成Ethernet/IP协议。它充当一个桥梁&#xff0c;连接了使用不同协议的设备&#xff0c;使它们能够无缝地进行通信和互操作。 具体来说&#xff0c;BL124EC通过支持EtherCAT&#xff08;以太…...

Android之App跳转其他软件

文章目录 前言一、效果图二、实现步骤1.弹框xml(自己替换图标)2.弹框utils3.两个弹框动画4.封装方便调用5.调用6.长按事件方法7.跳转步骤8.复制utils 总结 前言 最近遇到一个需求&#xff0c;就是App内大面积需要长按复制并跳转指定App&#xff0c;没办法&#xff0c;只能埋头…...

【Element UI】解决 el-dialog 弹框组件设置 custom-class 样式不生效问题

文章目录 问题描述解决方法 问题描述 <template><el-dialog class"myDialog" v-model"show" title"弹窗" custom-class"customDialog"><div>弹窗内容</div></el-dialog> </template> <script…...

前端菜鸟浅谈Web前端开发技术

Web前端开发技术按照过程遵循了由容易到困难&#xff0c;这就请求Web前端开发工作技术员方面要熟练学习基础的Web开发技术&#xff0c;关于网站性能的美化、SEO以及基础的关于服务器端方面的知识&#xff1b;另一方面还对开发人员有具体要求&#xff0c;比如能够熟练且灵敏的使…...

Springboot项目log4j与logback的Jar包冲突问题

异常信息关键词&#xff1a; SLF4J: Class path contains multiple SLF4J bindings. ERROR in ch.qos.logback.core.joran.spi.Interpreter24:14 - no applicable action for [properties], current ElementPath is [[configuration][properties]] 详细异常信息&#xff1a…...

光伏并网逆变器低电压穿越技术研究(Simulink仿真)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

命令模式,命令 Command 类对象的设计(设计模式与开发实践 P9)

文章目录 命令举例撤销C# 例子 命令 命令模式 Command 指的是一个 执行某些特定事情的指令 应用场景&#xff1a;有时需要向某些对象发送请求&#xff0c;但并不知道请求的接受者是谁&#xff0c;也不知道被请求的操作是什么。这时候命令模式就负责使发送者和接受者之间解耦 …...

jira 浏览器插件在问题列表页快速编辑问题标题

jira-issueTable-quicker 这是一个可以帮助我们在问题表格页快速编辑问题的浏览器插件 github 地址 功能介绍 jira 不可否认是一个可以帮助有效提高工作效率的工具&#xff0c;但是我们在使用 jira 时使用问题表格可以让我们看到跟多的内容而不用关注细节&#xff0c;但是目…...

2020架构真题(四十六)

、以下关于操作系统微内核架构特征的说法&#xff0c;不正确的是&#xff08;&#xff09;。 微内核的系统结构清晰&#xff0c;利于协作开发微内核代码量少&#xff0c;系统具有良好的可移植性微内核有良好的的伸缩性和扩展性微内核功能代码可以互相调用&#xff0c;性能很高…...

软件工程与计算总结(五)软件需求基础

本帖介绍软件需求涉及的诸多基本概念&#xff0c;通过对这些概念的阐述&#xff0c;剖析软件需求的来源、层次、类别、作用等重要知识~ 目录 ​编辑 一.引言 二.需求工程基础 1.简介 2.活动 3.需求获取 4.需求分析 5.需求规格说明 6.需求验证 7.需求管理 三.需求基…...

数学建模预测模型MATLAB代码大合集及皮尔逊相关性分析(无需调试、开源)

已知2010-2020数据&#xff0c;预测2021-2060数据 一、Logistic预测人口 %%logistic预测2021-2060年结果 clear;clc; X[7869.34, 8022.99, 8119.81, 8192.44, 8281.09, 8315.11, 8381.47, 8423.50, 8446.19, 8469.09, 8477.26]; nlength(X)-1; for t1:nZ(t)(X(t1)-X(t))/X(t1…...

泛型擦除是什么?

泛型擦除的主要特点包括&#xff1a; 编译时类型检查&#xff1a;在编写泛型代码时&#xff0c;编译器会对泛型类型参数进行类型检查&#xff0c;以确保类型安全。这意味着在编译时会捕获许多类型错误&#xff0c;避免了运行时类型错误。因为泛型其实只是在编译器中实现的而虚拟…...

阿里云轻量应用服务器有月流量限制吗?

阿里云轻量应用服务器限制流量吗&#xff1f;部分限制&#xff0c;2核2G3M和2核4G4M这两款轻量应用服务器不限制月流量&#xff0c;其他的轻量服务器套餐有月流量限制。 腾讯云轻量应用服务器价格便宜&#xff0c;活动页面&#xff1a;aliyunbaike.com/go/tencent 细心的同学看…...

mysql面试题25:数据库自增主键可能会遇到什么问题?应该怎么解决呢?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:数据库自增主键可能会遇到什么问题? 数据库自增主键可能遇到的问题: 冲突问题:自增主键是通过自动递增生成的唯一标识符,但在某些情况下可能会…...

学习css 伪类:has

学习抖音&#xff1a; 渡一前端提薪课 首先我们看下:has(selector)是什么 匹配包含&#xff08;相对于 selector 的 :scope&#xff09;指定选择器的元素。可以认为 selector 的前面有一个看不见的 :scope 伪类。它的强大之处是&#xff0c;可以实现父选择器和前面兄弟选择器…...

矩阵的相似性度量的常用方法

矩阵的相似性度量的常用方法 1&#xff0c;欧氏距离 欧式距离是最易于理解的一种距离计算方法&#xff0c;源自欧式空间中两点间的距离公式。 (1)二维平面上的点 a ( x 1 , y 1 ) a(x_1,y_1) a(x1​,y1​)和点 b ( x 2 , y 2 ) b(x_2,y_2) b(x2​,y2​)的欧式距离为 d ( x …...