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

C++ IO库

IO类

IO对象不能拷贝和赋值

iostream

表示形式的变化:

将100转换成二进制序列 然后格式化输出

x,y共用一块内存 输出的时候用不同的方式解析同一块内存

操作

格式化:内部表示转换为相应字节序列

缓存:要输出的内容放到缓存

编码转换:字符编码转换 utf8变长编码

传输:传输给外设

输入相反

封装特性

输入与输出

非格式化IO:不涉及数据任何形式的变化

格式控制

  • std::ios_base 是 C++ 标准库中定义基本输入输出流的类。
  • showposstd::ios_base 类中的一个标志,表示在输出正数时显示正号。
  • std::cout.setf() 用于设置格式标志,将 showpos 标志设置为 std::cout 的格式掩码中,以启用显示正号的功能。
  • std::cout.width() 是 C++ 标准库中用于设置输出宽度的成员函数。它是 std::ostream 类的成员函数,用于影响后续输出的格式。这个函数接受一个整数参数,指定输出字段的宽度,以确保输出的内容在指定的宽度内。如果输出的内容长度不足 10 个字符,将在左侧用空格进行填充
  • std::cout.fill() 是 C++ 标准库中用于设置填充字符的成员函数。它是 std::ostream 类的成员函数,用于指定在宽度设置时所使用的填充字符。填充字符是用于在输出字段宽度不足时进行填充的字符。
#include<iostream>int main(){char x='1';std::cout.setf(std::ios_base::showpos);  //开启正号std::cout<<x<<std::endl;  int y=static_cast<int>(x);std::cout<<y<<std::endl;return 0;
}

操纵符

std::setw(int n) 设置字段宽度,影响后续输出的宽度。

std::setprecision(int n) 设置输出流的浮点数精度。

std::setiosflags(std::ios_base::fmtflags flags) 设置一组格式标志。

"格式提取"(format extraction)

通常指的是从输入流中读取特定格式的数据。在C++中,常用的输入操作符(如>>)用于从输入流中提取数据,并根据期望的格式进行解析。

提取C风格字符串越界

解决方法使用setw

最后一个元素是\0

例题

#include<iostream>int main() {int i = 10;// 循环,从标准输入读取整数while (std::cin >> i, !std::cin.eof()) {// 检查是否发生了不可恢复的流错误if (std::cin.bad()) {throw std::runtime_error("cin is corrupted");}// 检查是否发生了格式错误(例如用户输入的不是整数)if (std::cin.fail()) {// 清除流的错误标志std::cin.clear();// 忽略输入缓冲区中的剩余字符,直到遇到换行符为止std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');std::cout << "data format error, please try again" << std::endl;continue;}std::cout << i << std::endl;}return 0;
}

文件流与文件操作

文件流对象

文件流处于打开就无法再次打开(C++规定) 只有打开才能IO

#include <iostream>
#include <fstream>int main() {// 打开名为 "myfile" 的文件,创建一个输入文件流对象 inFilestd::ifstream inFile("myfile");// 声明一个字符串变量 x,用于存储从文件中读取的内容std::string x;// 从文件中读取一个字符串,并将其存储到变量 x 中inFile >> x;// 输出 "hello" 到标准输出流(控制台)std::cout << "hello\n";// 关闭文件流(自动在程序结束时关闭,但显式关闭是一种好的实践)inFile.close();return 0;
}

检测是否打开的函数(检测流是否与文件关联)

打开文件:构造函数 ,或者open

关闭文件:析构函数 或者close

文件流的打开模式

每种文件流都有缺省打开方式

ate与app区别

ate开始位于文件末尾 但可以移动文件指针改变位置

app不能改变一直在文件末尾

例题

//让客户输入文件名称,如果文件不存在,就让客户重新输入文件名称,
//如果文件存在,就将文件全部内容输出。

#include<iostream>
#include<fstream>
#include <string>int main(){
//让客户输入文件名称,如果文件不存在,就让客户重新输入文件名称,
//如果文件存在,就将文件全部内容输出。std::string fileName;std::string fileContent;while(std::cin>>fileName,!std::cin.eof()){if(std::cin.bad()){throw std::runtime_error("cin is corrupted");}std::ifstream ifs(fileName);if(ifs){while(std::getline(ifs,fileContent)){std::cout<<fileContent<<std::endl;}if(ifs.bad()){throw std::runtime_error("ifs is corrupted");}ifs.close();}else{ifs.clear();ifs.ignore(std::numeric_limits<std::streamsize>::max(),'\n' );std::cout<<"file not exist,please try again"<<std::endl;continue;}}return 0;
}

内存流(stringstream)

在 C++ 中,内存流是一种特殊的流,它不与文件直接关联,而是与内存缓冲区关联。主要的内存流类是 std::istringstream(用于输入操作)和 std::ostringstream(用于输出操作),它们都是基于 std::iostream 类的。

1. std::istringstream(输入内存流):

2. std::ostringstream(输出内存流):

#include <iostream>
#include <sstream>int main() {// 创建一个输出内存流对象 obj1std::ostringstream obj1;// 将整数 1234 写入内存流obj1 << 1234;// 获取内存流中的字符串std::string res = obj1.str();// 输出字符串结果到标准输出std::cout << res << std::endl;  // 输出:1234// 创建一个输入内存流对象 obj2std::istringstream obj2;int x;// 试图从内存流中读取整数obj2 >> x;return 0;
}

1. std::ostringstream::str()

std::ostringstream 中,str() 函数返回内存流中的字符串,即当前流中的内容。它允许你将输出到内存流的数据以字符串的形式获取。

2. std::istringstream::str()

std::istringstream 中,str() 函数返回内存流中的字符串,即当前流中的内容。不过,对于 std::istringstreamstr() 函数返回的是从当前读取位置到流末尾的剩余部分的字符串。

作用:

基于字符串流的拼接优化操作

数据转换

string转换为int

#include<iostream>
#include<sstream>
#include<fstream>
#include <string>int main(){std::string str("12");std::stringstream strStream(str);int i=0;strStream>>i;if(strStream.bad()){throw std::runtime_error("strStream is corrupted");}else if(strStream.fail()){strStream.clear();strStream.ignore(std::numeric_limits<std::streamsize>::max(),'\n' );std::cout<<"string format error"<<std::endl;}else{std::cout<<i<<std::endl;}return 0;
}

int转换为string

#include<iostream>
#include<sstream>
#include<fstream>
#include <string>int main(){int i=100;std::stringstream str;str<<i<<std::endl;if(str.bad()){throw std::runtime_error("str is corrupted");}else{std::cout<<str.str()<<std::endl;}return 0;
}

用于对空格分隔的字符串的切分

#include<iostream>
#include<sstream>
#include<fstream>
#include <string>int main(){std::string src("hello word");std::string des;std::stringstream str(src);while(str>>des){std::cout<<des<<std::endl;}if(str.bad()){throw std::runtime_error("str is corrupted");}return 0;
}

流的状态

badbit

  • badbitstd::ios_base 类的成员之一,用于表示底层流发生了严重错误的标志。

  • badbit 被设置时,表示底层流已经处于无法恢复的错误状态,通常涉及到底层设备或文件的严重故障。

  • 如果 badbit 被设置,流的状态会变为 bad,可以通过调用 std::ios_base::bad() 函数检查。

failbit

  • failbitstd::ios_base 类的成员之一,用于表示流操作失败的标志。

  • failbit 被设置时,表示流的操作没有按照预期执行,可能包括格式错误或类型转换失败等。

  •  如果 failbit 被设置,流的状态会变为 fail,可以通过调用 std::ios_base::fail() 函数检查。

复位流状态

捕获流异常

流的定位

获取流位置

tellg 是 C++ 中输入流(std::istream)的成员函数,用于获取当前读取位置的位置指针(stream position indicator)的位置。它返回一个表示位置的整数类型,通常是 std::streampos

tellp 是 C++ 中输出流(std::ostream)的成员函数,用于获取当前写入位置的位置指针(stream position indicator)的位置。它返回一个表示位置的整数类型,通常是 std::streampos

设置流位置

seekg 是 C++ 中输入流(std::istream)的成员函数,用于设置当前读取位置的位置指针(stream position indicator)。这个函数允许你在输入流中移动位置,以便在需要的时候从不同的位置读取数据。

seekp 是 C++ 中输出流(std::ostream)的成员函数,用于设置当前写入位置的位置指针(stream position indicator)。这个函数允许你在输出流中移动位置,以便在需要的时候从不同的位置写入数据

流的同步

sync 是 C++ 中 std::ostream 的成员函数,用于将缓冲区的内容刷新到关联的输出设备(例如文件)。在 C++ 的输出流中,数据通常首先被写入到缓冲区,然后通过 sync 函数将缓冲区的内容刷新到实际的输出设备。

unitbuf 是一个影响输出流缓冲行为的I/O流操纵符。具体而言,它设置流的 unitbuf 标志,这意味着在每次插入操作之后都会刷新缓冲区。

cout有缓冲区 cerr没有

基于绑定的同步(tie)

tie 是一个用于设置关联(或绑定)两个流的成员函数。这个函数是定义在 <iostream> 头文件中的。

输出流(如 std::cout)和输入流(如 std::cin)通常是独立的,它们各自维护自己的缓冲区。然而,有时候你可能希望确保在读取输入之前或在输出后,缓冲区被刷新,以确保数据的正确同步。这时候,tie 就可以派上用场。

tie 的作用是将一个流与另一个流关联,从而在关联的流执行某些操作时,另一个流的缓冲区会被刷新。通常,tie 绑定的是输入流和输出流。

与C语言标准IO库同步

sync_with_stdio 是一个用于控制 C 标准输入输出库(stdio)的函数,用于设置 C 标准输入输出库的缓冲同步状态。这个函数的原型通常在头文件 <stdio.h> 中声明。

sync_with_stdio 接受一个整数参数 sync,如果 sync 的值为非零(例如,传入 1),则表示启用缓冲同步;如果 sync 的值为零,则表示禁用缓冲同步。缓冲同步是指标准输入(stdin)、标准输出(stdout)、标准错误输出(stderr)的缓冲同步状态

在这个示例中 关闭了同步 输出结果只要是a在c前面就是对的 b不一定

代码

#include<iostream>
#include<fstream>
#include <string>int main(){
//让客户输入文件名称,如果文件不存在,就让客户重新输入文件名称,
//如果文件存在,就将文件全部内容输出。std::string fileName;std::string fileContent;while(std::cin>>fileName,!std::cin.eof()){if(std::cin.bad()){throw std::runtime_error("cin is corrupted");}std::ifstream ifs(fileName);if(ifs){while(std::getline(ifs,fileContent)){std::cout<<fileContent<<std::endl;}if(ifs.bad()){throw std::runtime_error("ifs is corrupted");}ifs.close();}else{ifs.clear();ifs.ignore(std::numeric_limits<std::streamsize>::max(),'\n' );std::cout<<"file not exist,please try again"<<std::endl;continue;}}return 0;
}

相关文章:

C++ IO库

IO类 IO对象不能拷贝和赋值 iostream 表示形式的变化&#xff1a; 将100转换成二进制序列 然后格式化输出 x,y共用一块内存 输出的时候用不同的方式解析同一块内存 操作 格式化&#xff1a;内部表示转换为相应字节序列 缓存&#xff1a;要输出的内容放到缓存 编码转换&…...

Springboot 项目关于版本升级到 3.x ,JDK升级到17的相关问题

由于spring 停止对2.x 版本的维护&#xff0c;以及 jdk 频繁发布等客观因素&#xff0c;现需要对已有springboot 工程做一次全面升级&#xff1b;已因对市面上第三方等依赖库的兼容问题&#xff1b; 现有工程使用哥技术栈是版本&#xff1a; freemarker &#xff1a;2.3.32 spr…...

QGraphicsView实现简易地图7『异步加载-多瓦片-无底图』

前文链接&#xff1a;QGraphicsView实现简易地图6『异步加载-单瓦片-无底图』 前一篇文章提到的异步单瓦片加载&#xff0c;是指线程每准备好一个瓦片数据后&#xff0c;立刻抛出信号让主线程加载。而本篇异步多瓦片加载是指线程准备好所有瓦片数据后&#xff0c;一起抛出信号让…...

Spring Boot学习(三十三):集成kafka

前言 下面是zookeeper和kafka的官网下载地址&#xff0c;大家可以学习下载 zookeeper下载地址&#xff1a;http://zookeeper.apache.org/releases.html kafka下载地址&#xff1a;http://kafka.apache.org/downloads.html 1、添加依赖 在 pom.xml 文件中添加kafka依赖&am…...

MOSFET

MOSFET 电子元器件百科 文章目录 MOSFET前言一、MOSFET是什么二、MOSFET类别三、MOSFET应用实例四、MOSFET作用原理总结前言 MOSFET是一种常见的半导体器件,通过栅极电场控制通道区的导通特性,以控制电流流动。它在现代电子电路中发挥着重要的作用,并广泛应用于各种应用领域…...

DriveWorks——参数化设计非标定制利器

DriveWorks基本介绍 DriveWorks是一套被 SOLIDWORKS 认可为金牌合作伙伴产品的设计自动化软件。DriveWorks 可自动创建特定于订单的销售文档和 SOLIDWORKS 制造数据。减少重复性任务&#xff0c;消除错误&#xff0c;增加销售额&#xff0c;并在创纪录的时间内交付定制产品。 为…...

DevEco Studio集成ArkUI-X

语雀知识库地址&#xff1a;语雀HarmonyOS知识库 飞书知识库地址&#xff1a;飞书HarmonyOS知识库 在上篇文章(HarmonyOS应用开发工具DevEco Studio安装与使用)中我说到官方推出了4.0 Beta版本的IDE&#xff0c;这篇文章就来介绍这个版本的安装与使用 该版本集成了HarmonyOS多…...

网络视频服务器的作用是什么?

随着互联网的快速发展和网络带宽的提升&#xff0c;网络视频已经成为人们日常生活中不可或缺的一部分。网络视频服务器作为支持和传输网络视频的关键基础设施&#xff0c;发挥着重要的作用。本文将以网络视频服务器的作用为方向&#xff0c;探讨其在现代社会中的重要性。 首先…...

解决vue3使用iconpark控制台预警提示问题

前言 最近在项目中使用 iconpark-icon 来管理图标&#xff0c;一切都很顺利&#xff0c;引入链接后&#xff0c;图标正常显示&#xff0c;没有报错。但是控制台却发出了预警信息。 [Vue warn]: Failed to resolve component: iconpark-icon If this is a native custom eleme…...

VMware 虚拟机 NAT 模式网络配置

配置的核心点在于 网关要一致&#xff0c;才能访问外网 比如下面的网关都是&#xff1a;192.168.145.2 问题总结&#xff1a; 当时重启电脑后如果连不上外网了&#xff0c;检查下 windows 服务中 NAT服务是否已经启动...

5-redis高级-哨兵

1 哨兵 1.1 python 操作哨兵 1 哨兵 # 主从---》一主多从-主库用来写-从库用来读-主库挂了--》整个系统就不能写数据了#主从复制存在的问题&#xff1a;1 主从复制&#xff0c;主节点发生故障&#xff0c;需要做故障转移&#xff0c;可以手动转移&#xff1a;让其中一个slave变…...

鸿蒙HarmonyOS4.0开发应用学习笔记

黑马程序员鸿蒙4.0视频学习笔记&#xff0c;供自己回顾使用。1.安装开发工具DevEco Studio 鸿蒙harmony开发文档指南 DevEco Studio下载地址 选择或者安装环境 选择和下载SDK 安装总览 编辑器界面 2.TypeScript语法 2.1变量声明 //string 、number、boolean、any、u…...

联通宽带+老毛子Padavan固件 开启IP v6

联通宽带开启IP v6 参考&#xff1a; 联通宽带开启 IPV6 的方法_联通ipv6怎么开通-CSDN博客 个人宽带如何开启IPv6网络访问 - 知乎 (zhihu.com) 首先&#xff0c;你要确定当前你所在的地区运营商已经开通了IPV6&#xff0c;可以使用手机流量 IP查询(ipw.cn) | IPv6测试 | IPv…...

唯创知音WT2003Hx系列单片机语音芯片:家庭理疗产品的智能声音伴侣

随着科技的不断创新&#xff0c;家庭理疗产品正迎来一场智能化的变革。唯创知音的WT2003Hx系列单片机语音芯片以其强大的功能和高品质音频播放能力&#xff0c;为家庭理疗产品带来了更为智能、沉浸式的用户体验。 1. MP3高品质音频播放 WT2003Hx系列语音芯片支持高品质的MP3音…...

2023_Spark_实验二十七:Linux中Crontab(定时任务)命令详解及使用教程

Crontab介绍&#xff1a; Linux crontab是用来crontab命令常见于Unix和类Unix的操作系统之中&#xff0c;用于设置周期性被执行的指令。该命令从标准输入设备读取指令&#xff0c;并将其存放于“crontab”文件中&#xff0c;以供之后读取和执行。该词来源于希腊语 chronos(χρ…...

Java动态代理实现与原理详细分析

Java动态代理实现与原理详细分析 关于Java中的动态代理&#xff0c;我们首先需要了解的是一种常用的设计模式–代理模式&#xff0c;而对于代理&#xff0c;根据创建代理类的 时间点&#xff0c;又可以分为静态代理和动态代理。 1、代理模式 代理模式是常用的java设计模式&…...

[实践总结] 使用Apache HttpClient 4.x进行进行一次Http请求

使用Apache HttpClient 4.x进行进行一次Http请求 依赖 <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactI…...

易宝OA 两处任意文件上传漏洞复现

0x01 产品简介 易宝OA系统是一种专门为企业和机构的日常办公工作提供服务的综合性软件平台,具有信息管理、 流程管理 、知识管理(档案和业务管理)、协同办公等多种功能。 0x02 漏洞概述 易宝OA系统UploadFile、BasicService.asmx等接口处存在文件上传漏洞,未授权的攻击者可…...

echart饼图高亮颜色设置,数据为0时候,labelLine不显示

鼠标移上去高亮&#xff0c;颜色变浅&#xff0c;希望不改变颜色 在series.data中为各项设置itemStyle&#xff0c;官方设置不生效&#xff0c;不知原因&#xff0c;可能版本问题 itemStyle: {normal: { color: #DFEAFF, },emphasis: { color: #DFEAFF }},数据为0时候显示饼图…...

Kafka 的消息格式:了解消息结构与序列化

Kafka 作为一款高性能的消息中间件系统&#xff0c;其消息格式对于消息的生产、传输和消费起着至关重要的作用。本篇博客将深入讨论 Kafka 的消息格式&#xff0c;包括消息的结构、序列化与反序列化&#xff0c;以及一些常用的消息格式选项。通过更丰富的示例代码和深入的解析&…...

装箱 Box 数据类型

装箱是最简单直接的一种智能指针&#xff0c;它的类型是Box<T>。装箱使我们可以把数据存储到堆上&#xff0c;并在栈上保留一个指向堆数据的指针。装箱操作常常被用于下面的场景&#xff1a; 当你拥有一个无法在编译时确定大小的类型&#xff0c;但又想使用这个类型的值…...

多传感器融合SLAM在自动驾驶方向的初步探索的记录

1. VIO的不可观问题 现有的VIO都是解决的六自由度的问题, 但是对于行驶在路面上的车来说, 通常情况下不会有roll与z方向的自由度, 而且车体模型限制了不可能有纯yaw的变换. 同时由于IMU在Z轴上与roll, pitch上激励不足, 会导致IMU在初始化过程中尺度不准以及重力方向估计错误,…...

ffmpeg与opencv-python处理视频

安装 opencv pip install opencv-pythonFFmpeg 1.下载 FFmpeg 访问FFmpeg官方网站。选择 “Windows builds from gyan.dev” 链接&#xff0c;这会带您到一个包含最新版本 FFmpeg Windows 构建的页面。选择一个适合您系统的版本&#xff08;例如&#xff0c;32位或64位&…...

java 操作git

​ 实现功能&#xff1a;借助jgit实现拉取文件&#xff0c;并返回文件路径清单 <!-- 依赖库 版本号有自行选择&#xff0c;只是需要注意支持的jdk版本即可&#xff0c;我使用的是jdk1.8--> <dependency><groupId>org.eclipse.jgit</groupId><artif…...

Linux 导入、导出 MySQL 数据库命令

一、导出数据库 1、导出完整数据&#xff1a;表结构数据 mysqldump -u用户名 -p 数据库名 > 数据库名.sql 举例&#xff1a;以下命令可以导出 abc 数据库的数据和表结构 /usr/local/mysql/bin/mysqldump -uroot -p abc > abc.sql2、只导出表结构 mysqldump -u用户名 -p…...

华为数通---BFD多跳检测示例

定义 双向转发检测BFD&#xff08;Bidirectional Forwarding Detection&#xff09;是一种全网统一的检测机制&#xff0c;用于快速检测、监控网络中链路或者IP路由的转发连通状况。 目的 为了减小设备故障对业务的影响&#xff0c;提高网络的可靠性&#xff0c;网络设备需要…...

AWS 日志分析工具

当您的网络资源托管在 AWS 中时&#xff0c;需要定期监控您的 AWS CloudTrail 日志、Amazon S3 服务器日志和 AWS ELB 日志等云日志&#xff0c;以降低任何潜在的安全风险、识别严重错误并确保满足所有合规性法规。 什么是 Amazon S3 Amazon Simple Storage Service&#xff…...

gitLab 和Idea分支合并

以下二选1即可完成分支合并建议第一种简单有效 Idea合并方式 切换到被合并的分支&#xff0c;如我想把0701的内容合并到dev&#xff0c;切换到dev分支&#xff0c;然后再点击merge然后选择要合并的分支&#xff0c;即可,此时git上的代码没有更新只是把代码合到本地需要pull才…...

关于 mapboxgl 的常用方法及效果

给地图标记点 实现效果 /*** 在地图上添加标记点* point: [lng, lat]* color: #83f7a0*/addMarkerOnMap(point, color #83f7a0) {const marker new mapboxgl.Marker({draggable: false,color: color,}).setLngLat(point).addTo(this.map);this.markersList.push(marker);},…...

C语言——二级指针

指针变量也是变量&#xff0c;是变量就有地址&#xff0c;那么指针变量的地址存放在哪里&#xff1f;——这就是二期指针 int a 10;int *pa &a;int **ppa &pa;//a的地址存放在pa中&#xff0c;pa的地址存放在ppa中。 //pa是一级指针&#xff0c;ppa是二级指针。 对…...

股市复苏中的明懿金汇:抓住新机遇

2023年对于明懿金汇来说是充满挑战与机遇的一年。面对复杂多变的市场环境&#xff0c;明懿金汇展现了其对市场趋势的敏锐洞察和卓越的策略适应能力。以下是该公司在2023年的主要投资策略和市场适应方式的详细分析。 随着2023年中国股市迎来反弹&#xff0c;明懿金汇迅速调整了…...

Spacemesh、Kaspa和Chia的全面对比!

当今区块链领域&#xff0c;PoST&#xff08;Proof of Space and Time&#xff09;共识算法引领着一股新的技术浪潮。在这个热潮下&#xff0c;Chia项目作为PoST共识机制的经典项目&#xff0c;和目前算力赛道备受瞩目的Kaspa项目&#xff0c;都是不可忽视的存在。虽然这两个项…...

【HTML语法】

HTML语法 1. HTML语法1.1 HTML编辑器1.2 HTML模板1.3 标签示例1.4 常见的HTML标签1.51.61.71.81.91.101.11 学习网站&#xff1a;https://www.runoob.com/html/html-tutorial.html 1. HTML语法 HTML&#xff08;全称 Hypertext Markup Language&#xff0c;超文本标记语言&…...

ROS报错:RLException:Invalid roslaunch XML Syntax: mismatched tag:

运行roslaunch文件提示&#xff1a; RLException:Invalid roslaunch XML Syntax: mismatched tag: line 45&#xff0c; column 2 The traceback for the exception was written to the log file. j 解决办法&#xff1a; line45 行多了标签&#xff1a;</node> 另外…...

C语言实现快速排序

完整代码&#xff1a; #include<stdio.h>//用第一个元素将待排序序列划分成左右两个部分&#xff0c;返回排序后low的位置&#xff0c;即枢轴的位置 int partition(int arr[],int low,int high){//让待排序序列中的第一个元素成为基准int pivotarr[low];//lowhigh代表一…...

ChatGPT对于当今的社会或科技发展有何重要性?

ChatGPT对于当今社会和科技发展的重要性在于&#xff1a; 促进社交交流&#xff1a;ChatGPT可以为人们提供全天候的在线聊天服务&#xff0c;连接人与人之间的沟通交流&#xff0c;改善社交沟通方式。 提高有效性和效率&#xff1a;人们可以通过ChatGPT获得快速和精确的信息&a…...

宝塔是可以切换mongodb版本的

在软件商店&#xff0c;搜索monggodb&#xff0c;点击设置。点击第三个标签版本切换即可。但是前提要删除所有非系统数据库。 删除数据库方法&#xff1a; 要在 MongoDB 中删除一个数据库&#xff0c;可以使用 dropDatabase() 命令。请注意&#xff0c;在执行此操作之前&#x…...

16、XSS——会话管理

文章目录 一、web会话管理概述1.1 会话管理1.2 为什么需要会话管理&#xff1f;1.3 常见的web应用会话管理的方式 二、会话管理方式2.1 基于server端的session的管理方式2.2 cookie-based的管理方式2.3 token-based的管理方式 三、安全问题 一、web会话管理概述 1.1 会话管理 …...

稀疏矩阵的操作(数据结构实训)

题目&#xff1a; 标准输入输出 题目描述&#xff1a; 稀疏矩阵可以采用三元组存储。 输入&#xff1a; 输入包含若干个测试用例&#xff0c;每个测试用例的第一行为两个正整数m,n(1<m,n<100),表示矩阵的行数和列数,接下来m行&#xff0c;每行n个整数&#xff0c;表示稀疏…...

sqlite - sqlite3_exec - c++回调函数的处理

文章目录 sqlite - sqlite3_exec - c回调函数的处理概述笔记回调赋值实现用到的数据结构回调分发函数的实现具体的回调处理sqlite3_exe执行完后, 行集的具体处理END sqlite - sqlite3_exec - c回调函数的处理 概述 以前给客户写了个小程序, 处理sqlite执行sql时, 给定回调, 等…...

docker搭建logstash和使用方法

配置logstash 查询下载镜像【固定和elasticsearch一样的版本】 [roothao ~]# docker search logstash NAME DESCRIPTION STARS OFFICIAL AUTOMATED logstash …...

Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection 论文阅读

Memorizing Normality to Detect Anomaly: Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection 摘要1.介绍2.相关工作异常检测Memory networks 3. Memory-augmented Autoencoder3.1概述3.2. Encoder and Decoder3.3. Memory Module with Attention-based S…...

Mac端 DevEco Preview 窗口无法展示,提示文件中的node.dir错误

语雀知识库地址&#xff1a;语雀HarmonyOS知识库 飞书知识库地址&#xff1a;飞书HarmonyOS知识库 DevEco版本&#xff1a;Build Version: 3.1.0.501, built on June 20, 2023 环境信息 问题描述 打开 Preview 标签窗口后&#xff0c;提示Preview failed。 Run窗口提示如下 F…...

TIMO后台管理系统 Shiro 反序列化漏洞复现

0x01 产品简介 TIMO 后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理、部门管理、字典管理、日志记录、文件上传、代码生成等,为快速开发后…...

3.4_1 java自制小工具 - pdf批量转图片

相关链接 目录参考文章&#xff1a;pdf转图片(apache pdfbox)参考文章&#xff1a;GUI界面-awt参考文章&#xff1a;jar包转exe(exe4j)参考文章&#xff1a;IDEA导入GIT项目参考文章&#xff1a;IDEA中使用Gitee管理代码gitee项目链接&#xff1a;pdf_2_image网盘地址&#xf…...

vue中实现数字+英文字母组合键盘

完整代码 <template><div class"login"><div click"setFileClick">欢迎使用员工自助终端</div><el-dialog title"初始化设置文件打印消耗品配置密码" :visible.sync"dialogSetFile" width"600px&quo…...

Centos服务器上根据端口号查询jar包,根据jar包查端口号

在开发springboot服务器时&#xff0c;经常会遇到其他人部署的java服务&#xff0c;需要自己维护&#xff0c;留下的信息又非常少。经常面临找不到jar包位置&#xff0c;或者不知道占用端口&#xff0c;不知道启动命令的问题。这里记录一下常用的centos服务器上的命令&#xff…...

数据仓库与数据挖掘复习资料

一、题型与考点[第一种] 1、解释基本概念(中英互译解释简单的含义)&#xff1b; 2、简答题(每个10分有两个一定要记住)&#xff1a; ① 考时间序列Time series(第六章)的基本概念含义解释作用&#xff08;序列模式挖掘的作用&#xff09;&#xff1b; ② 考聚类(第五章)重点考…...

限流算法,基于go的gRPC 实现的

目录 一、单机限流 1、令牌桶算法 3、固定窗口限流算法 4、滑动窗口 二、集群限流 1、分布式固定窗口 &#xff08;基于redis&#xff09; 2、分布式滑动窗口 一、单机限流 1、令牌桶算法 令牌桶算法是当流量进入系统前需要获取令牌&#xff0c;没有令牌那么就要进行限…...

Shell中HTTP变量和文本处理

在Shell中&#xff0c;HTTP变量和文本处理是常见的任务之一。Shell是一个命令行解释器&#xff0c;可以用来自动化执行各种系统任务。在Shell中&#xff0c;我们可以使用各种命令和工具来处理HTTP变量和文本。 首先&#xff0c;让我们来看看如何在Shell中处理HTTP变量。HTTP变…...