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

C++IO流类库

一、输入输出流(I/O strea)

在这里插入图片描述
       编译系统已经以运算符或函数的形式做好了对标准外设(键盘、屏幕、打印机、文件)的接口,使用时只需按照要求的格式调用即可。
       

cin>>x; cout<<x; cin.get(ch);

       C++语言的I/O系统向用户提供一个统一的接口,使得程序的设计尽量与所访问的具体设备无关,在用户与设备之间提供了一个抽象的界面:输入输出流。

在这里插入图片描述

【重载输入(提取)和输出(插入)运算符】

       用标准流进行输入/输出时,系统自动地完成数据类型的转换。对于输入流,要将输入的字符序列形式的数据变换成计算机内部形式的数据(二进制或ASCII)后,再赋给变量,变换后的格式由变量的类型确定。对于输出流,将要输出的数据变换成字符串形式后,送到输出流(文件)中。

示例:===

       在C++中允许用户重载运算符“<<”和“>>”,实现对象的输入和输出。重载这二个运算符时,在对象所在的类中,将重载这二个运算符的函数说明该类的友元函数
       重载(提取)运算符的一般格式为:
在这里插入图片描述

       返回值类型:类istream的引用,cin中可以连续使用运算符“>>”。

  • 第一个参数:是“>>”的左操作数cin类型,类istream的引用。
  • 第二个参数:是“>>”的右操作数,即欲输入的对象的引用。
    示例:
#include <iostream>
using namespace std;class InCount
{
public:InCount(int a = 0, int b = 0){c1 = a;c2 = b;}void show(void){cout << "c1=" << c1 << "\t" << "c2=" << c2 << endl;}friend istream& operator>>(istream&, InCount&);friend ostream& operator<<(ostream&, InCount&);private:int c1, c2;
};istream& operator>>(istream& is, InCount& cc)
{is >> cc.c1 >> cc.c2;return is;
}ostream& operator<<(ostream& os, InCount& cc)
{os << "c1=" << cc.c1 << "\t" << "c2=" << cc.c2 << endl;return os;
}int main()
{InCount obj1, obj2;cout << obj1 << obj2 << endl; // 调用输出函数cin >> obj1;cin >> obj2;cout << obj1 << obj2;return 0;
}

二、文件流

       C++在头文件fstream.h中定义了C++的文件流类体系 ,当程序中使用文件时,要包含头文件fstream.h
在这里插入图片描述
       当使用文件时,在程序头有:#include<fstream.h>。其中定义了各种文件操作运算符及函数。

       程序对文本文件的操作与对键盘、显示器的操作比较:
在这里插入图片描述
       在涉及文本文件的操作时,将输入文件看成键盘,将输出文件看成显示器,格式不变。只需在程序中增加打开与关闭文件的语句

【文件的操作】

在这里插入图片描述
       C++标准库专门提供了3个类用于实现文件操作,它们统称为文件流类,这3个类分别为:

  • ifstream:专用于从文件中读取数据;
  • ofstream:专用于向文件中写入数据;
  • fstream:既可用于从文件中读取数据,又可用于向文件中写入数据。

【fstream类常用成员方法】

在这里插入图片描述
在这里插入图片描述

示例:

#include <iostream>
#include <fstream>
using namespace std;int main()
{const char* str = "http://www.163.com";// 我们要创建一个fstream类的对象fstream fs;// 将demo.txt文件和fs文件流建立关联fs.open("demo.txt", ios::out);fs.write(str, 100);fs.close();return 0;
}

       打开文件可以通过以下两种方式进行:

  • 调用流对象的 open 成员函数打开文件。
  • 定义文件流对象时,通过构造函数打开文件。

【使用 open 函数打开文件】

       先看第一种文件打开方式。以 ifstream 类为例,该类有一个 open 成员函数,其他两个文件流类也有同样的 open 成员函数:

void open(const char* szFileName, int mode)

第一个参数是指向文件名的指针,第二个参数是文件的打开模式标记。

【文件打开模式标记】

在这里插入图片描述
ios::binary 可以和其他模式标记组合使用,例如:

  • ios::in | ios::binary表示用二进制模式,以读取的方式打开文件;
  • ios::out |ios::binary表示用二进制模式,以写入的方式打开文件。

       在流对象上执行 open 成员函数,给出文件名和打开模式,就可以打开文件。判断文件打开是否成功,可以看“对象名”这个表达式的值是否为 true,如果为 true,则表示文件打开成功。

示例:

#include <iostream>
#include <fstream>
using namespace std;int main()
{//ifstream inFile;//inFile.open(".\\demo.txt", ios::in);//if (inFile) // 条件成立,则说明文件打开成功//{//    cout << "\ndemo.txt文件打开成功." << endl;//    inFile.close();//}//else//{//    cout << "\ndemo.txt文件打开失败." << endl;//    return 1;//}//ofstream outFile;//outFile.open(".\\outdemo.txt", ios::out);//if (outFile) // 条件成立,则说明文件打开成功//{//    cout << "\noutdemo.txt文件打开成功." << endl;//    outFile.close();//}//else//{//    cout << "\noutdemo.txt文件打开失败." << endl;//}fstream ioFile;ioFile.open(".\\iodemo.txt", ios::in | ios::out | ios::trunc);if (ioFile){cout << "\niodemo.txt文件打开成功." << endl;ioFile.close();}else{cout << "\niodemo.txt文件打开失败." << endl;}return 0;
}

       调用open()方法打开文件,是文件流对象和文件之间建立关联的过程。那么,调用 close()方法关闭已打开的文件,就可以理解为是切断文件流对象和文件之间的关联。
       注意,close()方法的功能仅是切断文件流与文件之间的关联,该文件流并会被销毁,其后续还可用于关联其它的文件

close()方法的用法很简单,其语法格式如下:

void close();

可以看到,该方法既不需要传递任何参数,也没有返回值。

1、【C++ ostream::write()方法写文件】

       ofstream 和 fstream 的 write()成员方法实际上继承自 ostream 类,其功能是将内存中 buffer 指向的 count 个字节的内容写入文件,基本格式如下:
ostream & write(char* buffer, int count);

       其中,buffer 用于指定要写入文件的二进制数据的起始位置;count 用于指定写入字节的个数。也就是说,该方法可以被 ostream 类的 cout 对象调用,常用于向屏幕上输出字符串。同时,它还可以被 ofstream 或者 fstream 对象调用,用于将指定个数的二进制数据写入文件

       同时,该方法会返回一个作用于该函数的引用形式的对象。举个例子,obj.write() 方法的返回值就是对 obj 对象的引用。
示例:

#include <iostream>
#include <fstream>
using namespace std;class student
{
public:int no;char name[10];int age;
};int main()
{student stu;ofstream outFile("student.dat", ios::out | ios::binary);if (!outFile){cout << "\n打开文件student.txt失败." << endl;outFile.close();}else{cout << "\n打开文件student.txt成功." << endl;}while (cin >> stu.no >> stu.name >> stu.age)outFile.write((char*)&stu, sizeof(stu));outFile.close();return 0;
}

2、【C++ istream::read()方法读文件】

       ifstream 和 fstream 的 read()方法实际上继承自 istream 类,其功能正好和 write() 方法相反,即从文件中读取 count个字节的数据。该方法的语法格式如下: istream & read(char* buffer, int count);

       其中,buffer 用于指定读取字节的起始位置,count 指定读取字节的个数。同样,该方法也会返回一个调用该方法的对象的引用。
示例:

#include <iostream>
#include <fstream>
using namespace std;class student
{
public:int no;char name[10];int age;
};int main()
{student stu;ifstream inFile("student.dat", ios::in | ios::binary); // 二进制读方式打开此文件 if (!inFile){cout << "\n打开失败." << endl;return 0;}elsecout << "\nstudent.dat文件打开成功." << endl;while (inFile.read((char*)&stu, sizeof(stu))){cout << stu.no << "," << stu.name << "," << stu.age << endl;}inFile.close();return 0;
}

3、【C++ ostream::put()成员方法】

       掌握了如何通过执行 cout.put() 方法向屏幕输出单个字符。fstream 和 ofstream 类继承自 ostream 类,因此 fstream 和 ofstream 类对象都可以调用 put() 方法。

       当 fstream 和 ofstream 文件流对象调用put() 方法时,该方法的功能就变成了向指定文件中写入单个字符。put() 方法的语法格式如下: ostream& put (char c);

       其中,c 用于指定要写入文件的字符。该方法会返回一个调用该方法的对象的引用形式。
示例:
// 009.cpp : 此文件包含 “main” 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <fstream>
using namespace std;int main()
{char ch;ofstream outFile("outdemo.txt", ios::out | ios::binary);if (!outFile){cout << "\noutdemo.txt文件打开失败." << endl;return 0;}elsecout << "\noutdemo.txt文件打开成功." << endl;while (cin >> ch){outFile.put(ch);}outFile.close();return 0;
}

4、【C++ istream::get()成员方法】

       与put() 成员方法的功能相对的是 get() 方法,其定义在 istream 类中,借助 cin.get() 可以读取用户输入的字符。在此基础上,fstream 和 ifstream 类继承自 istream 类,因此 fstream 和 ifstream 类的对象也能调用 get() 方法。

       当 fstream 和 ifstream 文件流对象调用 get() 方法时,其功能就变成了从指定文件中读取单个字符(还可以读取指定长度的字符串)。这里仅介绍最常用的 2 种:

  • int get();
  • istream& get (char& c);

       其中,第一种语法格式的返回值就是读取到的字符,只不过返回的是它的 ASCII 码,如果碰到输入的末尾,则返回值为 EOF。第二种语法格式需要传递一个字符变量,get() 方法会自行将读取到的字符赋值给这个变量。
示例:

#include <iostream>
#include <fstream>
using namespace std;int main()
{char ch;ifstream inFile("outdemo.txt", ios::out | ios::binary);if (!inFile){cout << "\noutdemo.txt文件打开失败." << endl;return 0;}elsecout << "\noutdemo.txt文件打开成功." << endl;while ((ch=inFile.get())&& ch!=EOF){cout << ch;}inFile.close();return 0;
}

5、【文件指针】

       当一打开文件,文件指针位于文件头,并随着读写字节数的多少顺序移动。可以利用成员函数随机移动文件指针。

【随机读取二进制文件】

infile.seekg(int);//将文件指针移动到由参数指定的字节处
infile.seekg(100);//将文件指针移动到距离文件头100个字节处
infile.seekg(100, ios::beg);//移动到距文件头100个字节
infile.seekg(-100, ios::cur);//移动到距当前位置前100个字节
infile.seekg(-500, ios::end);//移动到距文件尾前500个字节

相关文章:

C++IO流类库

一、输入输出流(I/O strea) 编译系统已经以运算符或函数的形式做好了对标准外设&#xff08;键盘、屏幕、打印机、文件&#xff09;的接口&#xff0c;使用时只需按照要求的格式调用即可。 cin>>x; cout<<x; cin.get(ch); C语言的I/O系统向用户提供一个统一…...

常见的锁策略+synchronized(特性解释)

该篇文章主要是对常见的锁策略的总结&#xff08;主要的作用是扫盲&#xff09;&#xff0c;如想要了解其他部分&#xff0c;这部分可以不用看 目录 一、常见的锁策略1. 悲观锁vs乐观锁举例&#xff1a; 2. 重量级锁vs轻量级锁3. 挂起等待锁vs自旋锁举例 4.普通互斥锁vs读写锁…...

spring打包,打包错误

打包(idea) 通过点击井盖样式的符号可以将test测试类取消打包进去 点击“M”&#xff0c;双击package即可打包 打包出错 ❯ java -jar /home/ying/Documents/java_workspace/spring-01-ioc/target/spring-01-ioc-0.0.1-SNAPSHOT.jar Error: LinkageError occurred while loadi…...

【Linux系统】进程间通信-System V消息队列

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux网络编程 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 ​ Linux网络系列文章计算机网络&#xff08;Linux网…...

DeepSeek×擎创科技:当智能运维遇见大模型「懂行」革命

运维人最懂「动态阈值」的痛 在数字化转型浪潮中&#xff0c;运维监控正经历从"人工经验"到"智能决策"的跃迁。传统动态阈值设置依赖人工分析历史数据、反复调整规则的模式&#xff0c;既难以应对业务波动性&#xff0c;又消耗大量技术资源。 擎创科技基…...

手绘风格流程图工具:简单高效的在线流程图绘制工具

手绘风格流程图&#xff1a;简单高效的在线流程图绘制工具 &#x1f389; 项目介绍 大家好&#xff01;我很高兴向大家分享我最近开发的一个项目 —— 在线绘制手绘风格流程图&#xff0c;这是一个简单高效的在线流程图绘制工具。无论是整理思路、规划项目还是准备演示&#…...

leetcode287.寻找重复数

与寻找链表环的起始点一样 &#xff0c;用快慢指针让二者相遇后&#xff0c;慢指针回到起始点二者以同样速度移动最终会在环的起始点相遇 class Solution {public int findDuplicate(int[] nums) {int slow nums[0], fast nums[0];do {slow nums[slow];fast nums[nums[fas…...

error LNK2019: 无法解析的外部符号 __imp__XXXX,该符号在函数xxxxx中被引用

这个链接错误表明在编译过程中&#xff0c;链接器无法找到 XXXX 函数的实现。以下是解决这个问题的步骤&#xff1a; 可能的原因和解决方案&#xff1a; 函数声明与实现不匹配&#xff1a; 检查 XXXX 函数的声明和实现是否完全一致&#xff08;包括返回类型、参数列表和调用约…...

【LeetCode基础算法】二叉树所有类型

1.遍历二叉树 二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历叶子相似的树 1288 LCP 44. 开幕式焰火左叶子之和 2.自顶向下DFS 二叉树的最大深度二叉树的最小深度路径总和求根节点到叶节点数字之和二叉树的右视图统计二叉树中好节点的数目 1360 3.自底向上 DFS 二叉树…...

AIGC5——AIGC的伦理与法律挑战:数据隐私、真实性危机与版权治理

引言 随着生成式AI&#xff08;AIGC&#xff09;的爆发式增长&#xff0c;其引发的伦理与法律问题日益凸显。从数据隐私泄露到AI幻觉导致的虚假信息&#xff0c;再到训练数据版权争议&#xff0c;AIGC正在挑战现有法律框架与社会信任体系。本文将系统分析三大核心问题&#xf…...

LLM架构解析:词嵌入模型 Word Embeddings(第二部分)—— 从基础原理到实践应用的深度探索

本专栏深入探究从循环神经网络&#xff08;RNN&#xff09;到Transformer等自然语言处理&#xff08;NLP&#xff09;模型的架构&#xff0c;以及基于这些模型构建的应用程序。 本系列文章内容&#xff1a; NLP自然语言处理基础词嵌入&#xff08;Word Embeddings&#xff09…...

marked库(高效将 Markdown 转换为 HTML 的利器)

文章目录 前言使用基本使用自定义渲染器例子 代码高亮 前言 最近尝试了一下通过星火大模型将ai引入到项目上&#xff0c;但是ai返回的数据可以显而易见的发现是markedown语法的&#xff0c;那么就需要一个工具&#xff0c;将类似这种的格式转换为markdown格式 Marked 是一个用…...

Vue3 + Element Plus + AntV X6 实现拖拽树组件

Vue3 Element Plus AntV X6 实现拖拽树组件 介绍 在本篇文章中&#xff0c;我们将介绍如何使用 Vue 3 和 Element Plus 结合 antv/x6 实现树形结构的拖拽功能。用户可以将树节点拖拽到图形区域&#xff0c;自动创建相应的节点。我们将会通过简单的示例来一步步讲解实现过程…...

在 Rocky Linux 9.2 上编译安装 Redis 6.2.6

文章目录 在 Rocky Linux 9.2 上编译安装 Redis 6.2.6Redis 介绍官网Redis 的核心特性高性能支持多种数据结构多种持久化机制复制与高可用2.5 事务与 Lua 脚本消息队列功能 Redis 适用场景Redis 与其他数据库对比Redis 的优势与劣势Redis 优势Redis 劣势 部署过程系统环境信息环…...

中和农信:让金融“活水”精准浇灌乡村沃土

2025年政府工作报告首提“投资于人”概念&#xff0c;并22次提及“金融”&#xff0c;强调要着力抓好“三农”工作&#xff0c;深入推进乡村全面振兴&#xff1b;一体推进地方中小金融机构风险处置和转型发展&#xff1b;扎扎实实落实促进民营经济发展的政策措施&#xff0c;切…...

4. 理解Prompt Engineering:如何让模型听懂你的需求

引言:当模型变成“实习生” 想象一下,你新招的实习生总把“帮我写份报告”理解为“做PPT”或“整理数据表”——这正是开发者与大模型对话的日常困境。某金融公司优化提示词后,合同审查准确率从72%飙升至94%。本文将用3个核心法则+5个行业案例,教你用Prompt Engineering让…...

cocos 图片上传与下载

创建一个场景 在 Cocos Creator 中&#xff0c;我们将从接口获取的图片 URL 列表动态创建图片节点并显示在页面上。使用 assetManager.loadRemote 来加载这些图片并显示。 目录结构如下 为按钮button和文本Lable挂载ts脚本 运行界面 图片上传测试 背景会变成上传的图片 以下是…...

Unity中的UI坐标和点击接口

默认已经知道UI中的基础知识&#xff0c;这里提供一些细节 &#x1f4da;️锚点和轴心点 锚点是根据父物体的确定的&#xff0c;锚点Anchor分为两种状态&#xff0c;Min Max 和 Min ! Max Min ! Max时会根据锚点进行自适应拉伸 参考文章&#xff1a;Unity 锚点 Anchors的通俗…...

基于JavaWeb的二手图书交易系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 人类现已迈入二十一世纪&#xff0c;科学技术日新月异&#xff0c;经济、资讯等各方面都有了非常大的进步&#xff0c;尤其是资讯与网络技术的飞速发展&#xff0c;对政治、经济、军事、文化等各方面都有了极大的影响。 利用电脑网络的这些便利&#xff0c;发展一套二手图…...

人脸表情识别数据集的正确使用方法(Affectnet、RAF-DB、FERPlus数据集通用)

众所周知深度学习是个很玄学的东西&#xff0c;不同的数据集加载方式会训练出不一样的精度&#xff0c;导致无法复现论文精度。 这里分享下正确的加载数据集的方法&#xff1a; 拿RAF-DB数据集举例&#xff1a; ①准备好RAF-DB数据集&#xff0c;训练集和测试集放进同一目录&…...

【408--考研复习笔记】操作系统----知识点速览

目录 一、计算机系统概述 1.计算机系统的组成 2.操作系统的定义与作用 3.操作系统的发展历程 4.操作系统的基本特性 5.操作系统的结构 简单结构 分层结构 微内核结构 模块化结构 宏内核结构 6.用户接口 7.系统调用 8.处理机的工作状态 9.中断机制 10.特权指令与…...

Java常用异步方式总结

使用建议 完整代码见https://gitee.com/pinetree-cpu/parent-demon 提供了postMan调试json文件于security-demo/src/main/resources/test_file/java-async.postman_collection.json 可导入postMan中进行调试 Java异步方式以及使用场景 继承Thread类 新建三个类继承Thread&…...

算法设计学习3

实验目的及要求&#xff1a; 1.加强对结构体的应用。 2.熟悉字符计数排序。 实验设备环境&#xff1a; 1.微型计算机 2.DEV C(或其他编译软件) 实验步骤&#xff1a; 任务&#xff1a;要求使用自定义函数来实现 输入一段文本&#xff0c;统计每个字符出现的次数&#xff0c;按…...

OpenCV 图形API(或称G-API)(1)

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 引言 OpenCV 图形API&#xff08;或称G-API&#xff09;是一个新的OpenCV模块&#xff0c;旨在使常规图像处理更快且更便携。通过引入一种新的基于图的执行…...

解决Luckysheet在线预览编辑Excel、PDF.....无法在同一个界面创建多个luckysheet实列问题

luckysheet插件由于是实列挂载到windows.luckysheet实列上&#xff0c;导致同时只能使用一个luckysheet于是我们使用<iframe/>标签进行隔离&#xff1a; 1.每个<iframe>创建独立的浏览器上下文环境&#xff0c;避免多个Luckysheet实例共享同一JavaScript执行环境 …...

php8属性注解使用教程

简介 PHP 8 引入了 属性&#xff08;Attributes&#xff09;作为新的元数据机制&#xff0c;用于替代传统的 PHPDoc 注解&#xff0c;使得代码更具类型安全性和结构化。 基本语法 PHP 8 的属性&#xff08;Attributes&#xff09;使用 #[...] 语法表示&#xff0c;并可以用于…...

Redis6数据结构之List类型

redis的List类型底层结构是双向链表&#xff0c;插入删除时间复杂度O(1)快,查找为O(n)慢。 应用场景&#xff1a;简单队列、最新评论列表、非实时排行榜&#xff08;定时计算榜单&#xff0c;如笔记本日销榜单&#xff09;。 常用命令&#xff1a; lpush将一个或多个值从左边…...

【视觉与语言模型参数解耦】为什么?方案?

一些无编码器的MLLMs统一架构如Fuyu&#xff0c;直接在LLM内处理原始像素&#xff0c;消除了对外部视觉模型的依赖。但是面临视觉与语言模态冲突的挑战&#xff0c;导致训练不稳定和灾难性遗忘等问题。解决方案则是通过参数解耦方法解决模态冲突。 在多模态大语言模型&#xf…...

[笔记.AI]初始向量

&#xff08;借助 DeepSeek-V3 辅助生成&#xff09; 初始向量的生成方式 在自然语言处理&#xff08;NLP&#xff09;中&#xff0c;初始向量是指模型在处理输入文本时&#xff0c;将每个 Token&#xff08;如词、子词或字符&#xff09;映射到高维向量空间的起点。这些初始…...

MySQL(一)

MySQL定义 ⭐ MySQL是一个“客户端——服务器”结构的软件 客户端&#xff1a;主动给服务器发起的数据&#xff0c;称为请求。 服务器&#xff1a;被动接收&#xff0c;给客户端返回的数据&#xff0c;称为响应。 客户端和服务器是通过网络通信进行的。 内存和硬盘的区别&am…...

(C语言)虚数运算(结构体教程)(指针解法)(C语言教程)

#include <stdio.h> //定义结构体 typedef struct {float realpart;float imagpart; }Complex; //初始化虚数 //传递值&#xff0c;和指针分开 void assign(const float real,const float imag,Complex* A){A->imagpartimag;A->realpartreal; } //虚数相加 //同样…...

大模型LLMs框架Langchain之工具Tools

写在前文&#xff1a; 下面是官方对工具的流程&#xff1a; 创建工具 创建工具时&#xff0c;必须指定参数&#xff1a;name、description、args_schema、return_direct 初始化环境 import asyncio from typing import Annotated, Listfrom langchain.agents import initia…...

让AI帮写个modbus slave小工具

工作中用到modbus&#xff0c;也下载过modbus poll和slave&#xff0c;试用期到了就要License&#xff0c;那不如让AI帮写一个简单的&#xff0c;够用即可。 步骤&#xff1a; 一、先安装python 1、windows电脑microsoft store搜索python安装 2、打开IDLE 2、选择菜单新建一…...

使用el-select回显时显示value,不显示对应的label

原因&#xff1a;后端传过来的是string类型 解决&#xff1a;向后端传过来的String类型的数据强制转换为Number类型 代码&#xff1a; <el-select clearable v-model"deviceinfo.Type" placeholder"请选择类型"><el-optionv-for"dict in ty…...

Spring IOC:容器管理与依赖注入秘籍

Java Spring 核心容器、IOC 一、IOC&#xff08;控制反转&#xff09;核心概念 基本概念 控制反转是一种将对象的创建、依赖关系的管理和生命周期的控制权从应用程序代码转移到外部容器的设计原则。在传统编程中&#xff0c;对象的创建和依赖关系是由程序自身控制的&#xff0…...

Cpp网络编程Winsock API

Cpp网络编程Winsock API 作者&#xff1a;blue 时间&#xff1a;2025.3.31 文章目录 Cpp网络编程Winsock API**1.服务端**&#xff08;Server&#xff09;1.1初始化网络库1.2创建套接字对象1.3设置ip和端口1.4将套接字对象与ip和端口绑定1.5设置套接字为监听状态1.6等待客户端…...

聊聊Spring AI的Chat Model

序 本文主要研究一下Spring AI的Chat Model Model spring-ai-core/src/main/java/org/springframework/ai/model/Model.java public interface Model<TReq extends ModelRequest<?>, TRes extends ModelResponse<?>> {/*** Executes a method call to …...

VUE3+Mapbox-GL 实现鼠标绘制矩形功能的详细代码和讲解

以下是如何使用 Mapbox GL JS 实现鼠标绘制矩形功能的详细代码和讲解。Mapbox GL JS 是一个强大的 JavaScript 库&#xff0c;可以用来创建交互式地图。下面将通过监听鼠标事件并动态更新地图图层来实现这一功能。 实现步骤 初始化地图 在 HTML 文件中引入 Mapbox GL JS 库&…...

Python数据类型-list

列表(List)是Python中最常用的数据类型之一&#xff0c;它是一个有序、可变的元素集合。 1. 列表基础 创建列表 empty_list [] # 空列表 numbers [1, 2, 3, 4, 5] # 数字列表 fruits [apple, banana, orange] # 字符串列表 mixed [1, hello, 3.14, True] # 混合类型…...

【Python】Browser-Use:让 AI 替你掌控浏览器,开启智能自动化新时代!

Browser-Use&#xff1a;让 AI 替你掌控浏览器&#xff0c;开启智能自动化新时代&#xff01; Github地址: https://github.com/browser-use/browser-use/tree/main 在 AI 浪潮席卷的今天&#xff0c;我们是否想过让 AI 不仅仅是聊天、生成内容&#xff0c;而是能像人一样实际操…...

Proxmox配置显卡直通

1.查看显卡 lspci | grep VGA 2.修改grub 2.1备份grub cp /etc/default/grub /etc/default/grub.bak 2.2修改grub vi /etc/default/grub 如果是Intel的CPU GRUB_CMDLINE_LINUX_DEFAULT“quiet intel_iommuon” 如果是AMD的CPU&#xff1a; GRUB_CMDLINE_LINUX_DEFAUL…...

C# FileStream 使用详解

总目录 前言 在 C# 编程中&#xff0c;文件操作是常见的任务之一。FileStream 类是 System.IO 命名空间中的一个重要类&#xff0c;它提供了对文件的读取和写入操作的底层支持。本文将详细介绍 FileStream 的使用方法&#xff0c;包括如何创建、读取、写入文件&#xff0c;以及…...

C++编程语言:抽象机制:一个矩阵的设计(Bjarne Stroustrup)

第29章 一个矩阵的设计(A Matrix Design) 目录 29.1 引言 29.1.1 基本的 Matrix 用法 29.1.2 Matrix 的要求 29.2 一个 Matrix 模板 29.2.1 构造和赋值(Construction and Assignment) 29.2.2 下标和分片(Subscripting and Slicing) 29.3 Matrix算术运算(Matrix…...

Swift LeetCode 246 题解:中心对称数(Strobogrammatic Number)

摘要 在日常开发中&#xff0c;我们经常遇到一些关于对称性的判断&#xff0c;比如字符串回文、镜像翻转等。而 “中心对称数”&#xff08;Strobogrammatic Number&#xff09; 这个问题&#xff0c;本质上是考察一个数字在旋转 180 度后是否还是原来的样子。 这个问题看似简…...

网络安全等级保护测评

名词解释 网络安全等级保护测评 网络安全等级保护测评,是对信息系统进行的一种安全评估活动。它的目的是验证信息系统是否达到了国家网络安全等级保护制度所规定的安全保护要求。这个制度将信息系统按照重要性划分为不同的安全保护等级,每个等级都有相应的安全保护要求。 …...

项目复盘:websocket不受跨域限制的原理

主要还是因为&#xff1a; 1、WebSocket 是独立于 HTTP 的应用层协议&#xff0c;通过 HTTP 建立连接后&#xff0c;完全脱离 HTTP 语义约束。这意味着 不受 HTTP 同源策略限制 不需要预检请求 不依赖 CORS 头机制 2、建立连接时的握手请求仍使用 HTTP 格式&#xff0c;但…...

deep-sync开源程序插件导出您的 DeepSeek 与 public 聊天

一、软件介绍 文末提供下载 deep-sync开源程序插件导出您的 DeepSeek 与 public 聊天&#xff0c;这是一个浏览器扩展&#xff0c;它允许用户公开、私下分享他们的聊天对话&#xff0c;并使用密码或过期链接来增强 Deepseek Web UI。该扩展程序在 Deepseek 界面中添加了一个 “…...

AI原生应用爆发:从通用大模型到垂直场景的算力重构

2025年第一季度&#xff0c;中国AI产业迎来标志性转折点&#xff1a;DeepSeek-R1大模型月活用户突破3000万&#xff0c;通义千问QwQ-32B在医疗领域诊断准确率达三甲医院主治医师水平&#xff0c;京东AI虚拟模特单日生成商品图超200万张……这些数据的背后&#xff0c;是AI技术从…...

arcgis jsapi 4.31 调用geoserver 发布的wms服务

服务的调用我也测试了网络搜索的很多方法&#xff0c;均未奏效&#xff0c;后来还是通过对官网例子的研究&#xff0c;找到了解决方案&#xff0c;调试的过程是非常痛苦的&#xff0c;最大的问题就是调用后没有任何反应&#xff0c;也不会给你任何的错误信息&#xff0c;这是最…...

《筋斗云的K8s容器化迁移》

点击下面图片带您领略全新的嵌入式学习路线 &#x1f525;爆款热榜 88万阅读 1.6万收藏 文章目录 **第一章&#xff1a;斗战胜佛的延迟焦虑****第二章&#xff1a;微服务化的紧箍咒****第三章&#xff1a;混沌中的流量劫持****第四章&#xff1a;量子筋斗的终极形态****终章&…...