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

Qt文件操作

目录

一、文件操作相关类

1.QFile

2.QFileInfo

3.QTextStream

4.QDataStream

5.QDir

6.QFileSystemWatcher

7.QTemporaryFile

二、文件操作示例

1.文本文件操作

2.目录操作

3.二进制文件操作


一、文件操作相关类

1.QFile

QFile类用于文件的创建、读写、复制、删除等操作,可以实现文本文件和二进制文件的读写。

常用函数:

  1. open():打开文件,参数决定文件的打开方式,如只读、只写、读写、追加等。
  2. close():关闭文件。
  3. readLine():读取一行。
  4. readAll():读取所有内容。
  5. write():向文件中写入数据。
  6. atEnd():判断是否到达文件尾。
  7. seek():将文件指针定位到指定位置处。
  8. pos():获取文件指针当前位置。

      

2.QFileInfo

QFileInfo类用于提供文件信息,包括文件的名称、在文件系统中的路径、文件的访问权限等,还可以获取文件的大小和最近一次修改的时间。

常用函数:

  1. exists():判断文件是否存在。
  2. isSymLink():判断文件是否是符号链接。
  3. symLinkTarget():如果文件是符号链接,返回原始文件的完整路径文件名,否则返回空字符串。
  4. size():获取文件大小。
  5. lastModified():获取文件最后修改时间。
  6. lastRead():获取文件最后读取时间。
  7. permissions():获取文件权限。

     

3.QTextStream

QTextStream类用于对数据进行文本格式的读/写操作,可以操作QIODevice、QByteArray和QString。

  • 写入操作:使用流插入运算符<<可以方便地将各种数据类型写入到文本流中,如整数、浮点数、字符串等。
  • 读取操作:使用流提取运算符>>可以从文本流中读取各种数据类型。还提供了readLine()、readAll()等函数用于按行或一次性读取所有文本内容。
  • 格式设置:可以通过setFieldWidth()、setPadChar()等函数设置字段宽度和填充字符;通过setFieldAlignment()设置字段对齐方式;通过setRealNumberNotation()和setRealNumberPrecision()设置实数的表示形式和精度等。

常用函数:

  1. operator>>():从流中读取数据。
  2. operator<<():向流中写入数据。
  3. readLine():读取一行文本。
  4. readAll():读取全部文本。

     

    4.QDataStream

    QDataStream类用于对数据进行二进制格式的读写操作,只能操作QIODevice或QByteArray。

    • 写入操作:使用流插入运算符<<将各种数据类型以二进制形式写入到数据流中,支持的Qt类型包括QBrush、QColor、QDateTime、QFont、QPixmap、QString、QVariant等,还包括QList、QVector、QSet、QMap等容器类型。
    • 读取操作:使用流提取运算符>>从数据流中读取数据,读取数据类型的顺序应与写入时的一致。
    • 版本控制:可以通过setVersion()函数设置版本号,以确保在读取和写入复杂类型时使用相同的版本,保证数据的兼容性。
    • 字节序设置:可以通过setByteOrder()函数设置字节序,默认是大端字节序。
    • 原始数据读写:提供了readRawData()和writeRawData()函数用于直接读写原始的未编码二进制数据,还提供了readBytes()和writeBytes()函数,先读取或写入一个quint32值表示数据长度,然后再读取或写入相应字节的数据。

    常用函数:

    1. operator>>():从流中读取二进制数据。
    2. operator<<():向流中写入二进制数据。
    3. readRawData():将数据从流中读取到预先分配的缓冲区中。
    4. writeRawData():将数据写入到流中。

        

    5.QDir

    QDir类用于操纵路径名和底层的文件系统,如创建文件夹、遍历文件夹等。

    常用函数:

    1. exists():判断目录是否存在。
    2. mkdir():创建一个新的目录。
    3. rmdir():删除一个空目录。
    4. entryList():返回目录中的文件和目录列表。
    5. cd():切换当前目录。
    6. cdUp():切换到上级目录。
    7. absolutePath():获取目录的绝对路径。
    8. canonicalPath():获取目录的规范路径。

        

    6.QFileSystemWatcher

    QFileSystemWatcher类通过观察指定路径的列表来监视文件系统中文件和目录的更改,当文件已被修改、重命名或从磁盘中删除就会发送相应信号。

    常用函数:

    1. addPath():添加一个监视路径。
    2. removePath():移除一个监视路径。
    3. directories():返回正在监视的目录列表。
    4. files():返回正在监视的文件列表。
    5. directoryChanged:当监视的目录发生变化时发射此信号。
    6. fileChanged:当监视的文件发生变化时发射此信号。

         

    7.QTemporaryFile

    QTemporaryFile类用于创建临时文件,临时文件在应用程序运行时用于暂时存储数据,在不需要时通常会自动删除。

    常用函数:

    1. open():打开临时文件以进行读取和写入操作。
    2. write():将数据写入临时文件。
    3. readAll():一次性读取整个临时文件的内容。
    4. fileName():获取临时文件的路径。
    5. size():获取临时文件的大小。
    6. autoRemove():设置临时文件在销毁时是否自动删除。

          


         

    二、文件操作示例

    1.文本文件操作

        //获取应用程序当前目录的绝对路径QString cur_path = QCoreApplication::applicationDirPath();//选择文件QString cur_name = QFileDialog::getOpenFileName(this, "Open File",cur_path,"txt(*.txt);;all(*.*);;images(*.png *.jpg)");if(cur_name.isEmpty()) return;//打开文件QFile cur_file(cur_name);if(!cur_file.open(QIODevice::ReadOnly|QIODevice::Text)) return;//读文件QTextStream cur_stream(&cur_file);//全部读取QString str = cur_stream.readAll();qDebug()<<str;//按行读取while(!cur_stream.atEnd()){QString str = cur_stream.readLine();qDebug()<<str;}//创建一个新文件QFile new_file("D:/test01.txt");if(!new_file.open(QIODevice::WriteOnly)) return;QTextStream new_stream(&new_file);//写文件new_stream<<"Hello World!";new_file.close();//删除文件if(new_file.exists())new_file.remove();//复制文件两种方式if(!QFile::copy(cur_name,new_file.fileName())) return;//if(!cur_file.copy(new_file.fileName())) return;//文件信息QFileInfo info(cur_name);if(!info.exists()) return;qDebug() << "文件名称:" << info.fileName();qDebug() << "文件路径:" << info.filePath();qDebug() << "文件大小:" << info.size() << "bytes";qDebug() << "文件最后读取时间:"<< info.lastRead().toString("yyyy-MM-dd hh:mm:ss");qDebug() << "文件最后修改时间:"<< info.lastModified().toString("yyyy-MM-dd hh:mm:ss");//关闭文件cur_file.close();

           

    2.目录操作

        //遍历目录QDir dir_traverse("D:/");QStringList dir_list = dir_traverse.entryList(QDir::NoDotAndDotDot|QDir::AllEntries);qDebug()<<"D:";for(int i=0;i<dir_list.size();i++)qDebug()<<dir_list[i];//创建目录QDir new_dir;QString new_path = "D:/new_directory";if(!new_dir.exists(new_path))if(!new_dir.mkdir(new_path))qDebug()<<"create error";//重命名目录QDir rename_dir;QString old_name =  "D:/new_directory";QString new_name =  "D:/renamed_directory";if(rename_dir.exists(old_name))if(!rename_dir.rename(old_name,new_name))qDebug()<<"rename error";//删除目录QDir delete_dir;QString delete_path = "D:/renamed_directory";if(delete_dir.exists(delete_path))if(!delete_dir.rmdir(delete_path))qDebug()<<"delete error";//获取当前目录QString current_path = QDir::currentPath();qDebug()<<"current directory: "<<current_path;//切换目录QDir change_dir;QString change_path = "D:/";if(change_dir.cd(change_path))qDebug()<<"current directory: "<<change_path;

           

    3.二进制文件操作

    写入二进制文件:

    class Person{
    public:QString name;qint16 age;
    };//重载<<运算符
    QDataStream& operator<<(QDataStream &out, const Person &person){out<<person.name<<person.age;return out;
    }QFile file("D:/test02.txt");
    if(!file.open(QIODevice::WriteOnly)) return;QDataStream out(&file);
    out.setVersion(QDataStream::Qt_6_0);int x1 = 12;
    double x2 = 5.55;
    QString x3 = "hello";Person p1 = {"Alice",25};
    Person p2 = {"Bob",23};out<<x1<<x2<<x3<<p1<<p2;file.close();

    读取二进制文件:

    class Person{
    public:QString name;qint16 age;
    };//重载>>运算符
    QDataStream& operator>>(QDataStream &in, Person &person){in>>person.name>>person.age;return in;
    }QFile file("D:/test02.txt");
    if(!file.open(QIODevice::ReadOnly)) return;QDataStream in(&file);
    in.setVersion(QDataStream::Qt_6_0);int x1;
    double x2;
    QString x3;Person p1;
    Person p2;in>>x1>>x2>>x3>>p1>>p2;qDebug()<<x1<<x2<<x3;
    qDebug()<<p1.name<<p1.age;
    qDebug()<<p2.name<<p2.age;file.close();

         

    相关文章:

    Qt文件操作

    目录 一、文件操作相关类 1.QFile 2.QFileInfo 3.QTextStream 4.QDataStream 5.QDir 6.QFileSystemWatcher 7.QTemporaryFile 二、文件操作示例 1.文本文件操作 2.目录操作 3.二进制文件操作 一、文件操作相关类 1.QFile QFile类用于文件的创建、读写、复制、删除…...

    赚钱的究极认识

    1、赚钱的本质是提供了价值或者价值想象 价值&#xff1a; 比如小米手机靠什么&#xff1f;“性价比”&#xff0c;什么饥饿营销&#xff0c;创新&#xff0c;用户参与&#xff0c;生态供应链&#xff0c;品牌这些不能说不重要&#xff0c;但是加在一起都没有“性价比”这3字重…...

    【项目】基于Qt开发的音乐播放软件

    目录 项目介绍 项目概述 界面开发 界面分析 创建工程 主界面布局设计 窗口主框架设计 界面美化 主窗口设定 添加图片资源 head处理 播放控制区处理 自定义控件 BtForm 推荐页面 自定义CommonPage 自定义ListItemBox 自定义MusicSlider 自定义VolumeTool 音…...

    week08_文本匹配任务

    1、文本匹配任务概述 狭义&#xff1a; 给定一组文本&#xff0c;判断其是否语义相似 今天天气不错 match 今儿个天不错呀 √ 今天天气不错 match 你的代码有bug 以分值形式给出相似度 今天天气不错 match 今儿个天不错呀 0.9 今天天气不错 match…...

    01-01 五元组

    [外链图片转存中…(img-8JR8fhPZ-1737855365022)] 01-01 五元组 网络中的五元组&#xff08;5-Tuple&#xff09; 是用于唯一标识一个网络连接或数据流的五个关键参数组合。这五个参数共同定义了数据包的来源、目的地以及传输方式&#xff0c;是网络设备&#xff08;如防火墙…...

    5.2 软件需求分析

    文章目录 需求分析的意义软件需求的组成需求分析的5个方面需求分析方法 需求分析的意义 需求分析解决软件“做什么”的问题。由于开发人员比较熟悉计算机而不熟悉领域业务&#xff0c;用户比较熟悉领域业务而不熟悉计算机&#xff0c;双方需要通过交流&#xff0c;制定出完整、…...

    OpenCV:在图像中添加噪声(瑞利、伽马、脉冲、泊松)

    目录 简述 1. 瑞利噪声 2. 伽马噪声 3. 脉冲噪声 4. 泊松噪声 总结 相关阅读 OpenCV&#xff1a;在图像中添加高斯噪声、胡椒噪声-CSDN博客 OpenCV&#xff1a;高通滤波之索贝尔、沙尔和拉普拉斯-CSDN博客 OpenCV&#xff1a;图像处理中的低通滤波-CSDN博客 OpenCV&…...

    进程池的制作(linux进程间通信,匿名管道... ...)

    目录 一、进程间通信的理解 1.为什么进程间要通信 2.如何进行通信 二、匿名管道 1.管道的理解 2.匿名管道的使用 3.管道的五种特性 4.管道的四种通信情况 5.管道缓冲区容量 三、进程池 1.进程池的理解 2.进程池的制作 四、源码 1.ProcessPool.hpp 2.Task.hpp 3…...

    C++:多继承习题3

    题目内容&#xff1a; 声明一个时间类Time&#xff0c;时间类中有3个私有数据成员(Hour&#xff0c;Minute&#xff0c;Second)和两个公有成员函数(SetTime和PrintTime)。要求&#xff1a; &#xff08;1&#xff09; SetTime根据传递的3个参数为对象设置时间&#xff1b; &a…...

    数论问题75

    命题&#xff0c;证明:存在K∈N&#xff0c;使得对于每个n∈N&#xff0c;Kx2^n1都是合数。 证明:设n2^m&#xff0c;当m0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4时&#xff0c;a(m)2^(2^m)1都是素数。 a(0)213&#xff0c;a(1)2^215&#xff0c;a(2)2^4117&…...

    Baklib引领数字化内容管理转型提升企业运营效率

    内容概要 在数字化迅速发展的背景下&#xff0c;企业正面临着前所未有的内容管理挑战。传统的内容管理方式已难以适应如今的信息爆炸&#xff0c;企业需要更加高效、智能的解决方案以应对复杂的数据处理需求。Baklib作为行业的先锋&#xff0c;以其创新技术对数字化内容管理进…...

    2025年AI手机集中上市,三星Galaxy S25系列上市

    2025年被认为是AI手机集中爆发的一年&#xff0c;各大厂商都会推出搭载人工智能的智能手机。三星Galaxy S25系列全球上市了。 三星Galaxy S25系列包含S25、S25和S25 Ultra三款机型&#xff0c;起售价为800美元&#xff08;约合人民币5800元&#xff09;。全系搭载骁龙8 Elite芯…...

    Vue2官网教程查漏补缺学习笔记 - 3Vue实例4模板语法5计算属性监听器

    3 Vue实例 3.1 创建一个 Vue 实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的&#xff1a; var vm new Vue({// 选项 })虽然没有完全遵循 MVVM 模型&#xff0c;但是 Vue 的设计也受到了它的启发。因此在文档中经常会使用 vm (ViewModel 的缩写) 这个变…...

    2025年数学建模美赛:A题分析(1)Testing Time: The Constant Wear On Stairs

    2025年数学建模美赛 A题分析&#xff08;1&#xff09;Testing Time: The Constant Wear On Stairs 2025年数学建模美赛 A题分析&#xff08;2&#xff09;楼梯磨损分析模型 2025年数学建模美赛 A题分析&#xff08;3&#xff09;楼梯使用方向偏好模型 2025年数学建模美赛 A题分…...

    WPS数据分析000007

    目录 一、分列 智能分列 出生日期 数值转换 公式不运算 二、数据对比 离职员工 新入职员工 都在职的员工 三、合并计算 四、拆分表格 合并表格 一、分列 智能分列 出生日期 数据求和 文本型数字左对齐&#xff1b;数值型数字右对齐 数值转换 方式一&#xff1a; 方…...

    oracle 19C RAC打补丁到19.26

    oracle 19CRAC打补丁到19.26 本文只保留简介命令和每个命令大概的用时&#xff0c;方便大家直接copy使用&#xff0c;并了解每个命令的预期时间&#xff0c;减少命令执行期的等待焦虑。 1.本次所需的补丁如下 p6880880_190000_Linux-x86-64.zip &#xff08;.43的opatch&…...

    动手学图神经网络(8):在消息传递中定制聚合操作

    在消息传递中定制聚合操作 安装Pytorch和PyG # 安装所需的包 import os import torch os.environ[TORCH] = torch.__version__# 以下是安装命令,实际运行时可取消注释 #!pip install -q torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}.html #!pip install -q to…...

    MySQL安装教程

    一、下载 点开下面的链接&#xff1a;下载地址 点击Download 就可以下载对应的安装包了, 安装包如下: 二、解压 下载完成后我们得到的是一个压缩包&#xff0c;将其解压&#xff0c;我们就可以得到MySQL 8.0.34 的软件本体了(就是一个文件夹)&#xff0c;我们可以把它放在你想…...

    信息学奥赛一本通 1390:食物链【NOI2001】| 洛谷 P2024 [NOI2001] 食物链

    【题目链接】 ybt 1390&#xff1a;食物链【NOI2001】 洛谷 P2024 [NOI2001] 食物链 【题目考点】 1. 种类并查集 2. 带权并查集 【解题思路】 解法1&#xff1a;种类并查集 已知有三类动物A、B、C。A吃B&#xff0c;B吃C&#xff0c;C吃A。 对于B类动物来说&#xff0c…...

    Linux网络之序列化和反序列化

    目录 序列化和反序列化 上期我们学习了基于TCP的socket套接字编程接口&#xff0c;并实现了一个TCP网络小程序&#xff0c;本期我们将在此基础上进一步延伸学习&#xff0c;实现一个网络版简单计算器。 序列化和反序列化 在生活中肯定有这样一个情景。 上图大家肯定不陌生&a…...

    【Django教程】用户管理系统

    Get Started With Django User Management 开始使用Django用户管理 By the end of this tutorial, you’ll understand that: 在本教程结束时&#xff0c;您将了解&#xff1a; Django’s user authentication is a built-in authentication system that comes with pre-conf…...

    万字长文总结前端开发知识---JavaScriptVue3Axios

    JavaScript学习目录 一、JavaScript1. 引入方式1.1 内部脚本 (Inline Script)1.2 外部脚本 (External Script) 2. 基础语法2.1 声明变量2.2 声明常量2.3 输出信息 3. 数据类型3.1 基本数据类型3.2 模板字符串 4. 函数4.1 具名函数 (Named Function)4.2 匿名函数 (Anonymous Fun…...

    React基础

    前言 &#xff08;2021年笔记&#xff09;补充记录 React基础 前言React讲义一、create-react-app二、关于React1、React的起源和发展2、React与传统MVC的关系3、React高性能的体现&#xff1a;虚拟DOM4、React的特点和优势 三、编写第一个react应用程序四、元素与组件1、函数…...

    读书笔记:《华为突围ERP封锁全纪实》

    文章背景&#xff1a; 2019年5月&#xff0c;华为被美国制裁&#xff0c;其ERP系统面临断供风险。ERP系统是企业核心管理软件&#xff0c;一旦中断&#xff0c;华为的全球业务将陷入瘫痪。面对这一生死存亡的危机&#xff0c;华为启动了“突围”计划&#xff0c;历经数年艰苦奋…...

    Linux的udev详解、安装和使用(dev下的设备每次开机的名称不固定怎么办?)

    前言&#xff08;问题与需求&#xff09;&#xff1a; 在传统的devfs 1&#xff1a;设备映射的不确定&#xff1a;一个设备多次加载设备的设备文件可能不同&#xff0c;比如一个hub有可能是ttyUSB0或ttyUSB2或ttyUSB3 2&#xff1a;devfs没有足够的主辅设备号&#xff0c;当设…...

    单向循环链表的概念+单向循环链表的结点插入+单向循环链表的结点删除+程序设计与笔试题分析

    单向循环链表的原理与应用 思考&#xff1a;对于单向链表而言&#xff0c;想要遍历链表&#xff0c;则必须从链表的首结点开始进行遍历&#xff0c;请问有没有更简单的方案实现链表中的数据的增删改查&#xff1f; 回答&#xff1a;是有的&#xff0c;可以使用单向循环的链表…...

    【蓝桥杯嵌入式入门与进阶】2.与开发板之间破冰:初始开发板和原理图2

    个人主页&#xff1a;Icomi 专栏地址&#xff1a;蓝桥杯嵌入式组入门与进阶 大家好&#xff0c;我是一颗米&#xff0c;本篇专栏旨在帮助大家从0开始入门蓝桥杯并且进阶&#xff0c;若对本系列文章感兴趣&#xff0c;欢迎订阅我的专栏&#xff0c;我将持续更新&#xff0c;祝你…...

    Jetson Xavier NX 安装 CUDA 支持的 PyTorch 指南

    本指南将帮助开发者完成在 Jetson Xavier NX 上安装 CUDA 支持的 PyTorch。 安装方法 在 Jetson 上安装 Pytorch 只有两种方法。 一种是直接安装他人已经编译好的 PyTorch 轮子&#xff1b;一种是自己从头开始开始构建 PyTorch 轮子并且安装。 使用轮子安装 可以从我的 Gi…...

    “harmony”整合不同平台的单细胞数据之旅

    其实在Seurat v3官方网站的Vignettes中就曾见过该算法&#xff0c;但并没有太多关注&#xff0c;直到看了北大张泽民团队在2019年10月31日发表于Cell的《Landscap and Dynamics of Single Immune Cells in Hepatocellular Carcinoma》&#xff0c;为了同时整合两类数据&#xf…...

    [权限提升] 操作系统权限介绍

    关注这个专栏的其他相关笔记&#xff1a;[内网安全] 内网渗透 - 学习手册-CSDN博客 权限提升简称提权&#xff0c;顾名思义就是提升自己在目标系统中的权限。现在的操作系统都是多用户操作系统&#xff0c;用户之间都有权限控制&#xff0c;我们通过 Web 漏洞拿到的 Web 进程的…...

    大模型本地部署流程介绍

    大模型本地部署流程介绍 随着人工智能技术的快速发展&#xff0c;大模型&#xff08;如大型语言模型、图像识别模型等&#xff09;的应用越来越广泛。然而&#xff0c;由于这些模型通常体积庞大且计算资源要求高&#xff0c;如何在本地环境中高效部署成为了一个重要的议题。以…...

    浅析百度AOI数据与高德AOI数据的差异性

    目录 前言 一、AOI属性数据 1、百度AOI数据 2、高德AOI数据 二、AOI矢量边界 1、百度AOI空间范围 2、高德AOI空间范围 三、数据获取频次和难易程度 1、接口限制 2、数据转换成本 四、总结 前言 在当今数字化时代&#xff0c;地理信息数据的精准性和丰富性对于城市规划…...

    LeetCode 119. 杨辉三角 II

    题意&#xff1a;求杨辉三角&#xff08;帕斯卡三角&#xff09;的第n行&#xff08;n从0开始&#xff09; 杨辉三角的每一行是二项式排列组合的展开式 第n行为: C n 0 , C n 1 , C n 2 , … , C n n C_{n}^{0}, C_{n}^{1}, C_{n}^{2}, \dots, C_{n}^{n} Cn0​,Cn1​,Cn2​,……...

    机器学习-K近邻算法

    文章目录 一. 数据集介绍Iris plants dataset 二. 代码三. k值的选择 一. 数据集介绍 鸢尾花数据集 鸢尾花Iris Dataset数据集是机器学习领域经典数据集&#xff0c;鸢尾花数据集包含了150条鸢尾花信息&#xff0c;每50条取自三个鸢尾花中之一&#xff1a;Versicolour、Setosa…...

    设计模式Python版 原型模式

    文章目录 前言一、原型模式二、原型模式示例三、原型管理器 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&#xff1a;关注类和对…...

    centos安装mysql

    下面的方法不行&#xff0c;最后还是通过我自己的博客中的 https://blog.csdn.net/qq_21237549/article/details/133759503 CentOS 安装MySQL 详细教程 安装成功的 通过网盘分享的文件&#xff1a;服务器部署 链接: https://pan.baidu.com/s/12QwjIMgwHcwVeVoal-BKrg 提取码:…...

    java 判断Date是上午还是下午

    我要用Java生成表格统计信息&#xff0c;如下图所示&#xff1a; 所以就诞生了本文的内容。 在 Java 里&#xff0c;判断 Date 对象代表的时间是上午还是下午有多种方式&#xff0c;下面为你详细介绍不同的实现方法。 方式一&#xff1a;使用 java.util.Calendar Calendar 类…...

    Jenkins安装部署(以及常见报错解决方案),jdk版本控制器sdkman

    目录 零、环境介绍 一、Jenkins安装 1、插件安装以及更换插件源 2、修改jenkins时区 二、sdkman安装&#xff08;可选&#xff09; 1、sdkman常用方法 2、sdkman常用方法演示 2.1、查看可用的jdk 2.2、下载jdk并切换版本 三、jenkins报错解决 1、下载sdkman后systemc…...

    【Linux】gdb——Linux调试器

    gdb使用背景 程序的发布方式有两种&#xff0c;debug模式和release模式 Linux gcc/g出来的二进制程序&#xff0c;默认是release模式 要使用gdb调试&#xff0c;必须在源代码生成二进制程序的时候, 加上 -g 选项 gdb使用方法 首先进入gdb gdb test_glist显示代码 断点 b 行…...

    978.最长湍流子数组

    目录 题目过程解法收获 题目 给定一个整数数组 arr &#xff0c;返回 arr 的 最大湍流子数组的长度 。 如果比较符号在子数组中的每个相邻元素对之间翻转&#xff0c;则该子数组是 湍流子数组 。 更正式地来说&#xff0c;当 arr 的子数组 A[i], A[i1], …, A[j] 满足仅满足…...

    LLM - 大模型 ScallingLaws 的指导模型设计与实验环境(PLM) 教程(4)

    欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/145323420 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Scaling Laws (缩放法则) 是大模型领域中,用于描述 模型性能(Loss) 与…...

    【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.19 排序革命:argsort的十大高阶用法

    1.19 排序革命&#xff1a;argsort的十大高阶用法 目录 #mermaid-svg-Qu8PcmLkIc1pOQJ7 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Qu8PcmLkIc1pOQJ7 .error-icon{fill:#552222;}#mermaid-svg-Qu8PcmLkIc1pOQJ…...

    记忆力训练day07

    逻辑分类联想记忆法 一 课程目标 &#xff08;1&#xff09;掌握如何分类信息 &#xff08;2&#xff09;掌握如何运用逻辑分类方法进行记忆 小试牛刀&#xff1a; 核心的内容&#xff1a; 文字逻辑分类记忆&#xff1a;把文字分类后转换成画面连接记忆。 玫瑰 大树 太阳…...

    RK3588平台开发系列讲解(ARM篇)ARM64底层中断处理

    文章目录 一、异常级别二、异常分类2.1、同步异常2.2、异步异常三、中断向量表沉淀、分享、成长,让自己和他人都能有所收获!😄 一、异常级别 ARM64处理器确实定义了4个异常级别(Exception Levels, EL),分别是EL0到EL3。这些级别用于管理处理器的特权级别和权限,级别越高…...

    算法1-1 模拟与高精度

    目录 一 阶乘数码 二 麦森数 三 模拟题 一 阶乘数码 本题中n<1000,1000的阶乘为以下这么大&#xff0c;远超long的范围 402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901…...

    (四)线程 和 进程 及相关知识点

    目录 一、线程和进程 &#xff08;1&#xff09;进程 &#xff08;2&#xff09;线程 &#xff08;3&#xff09;区别 二、串行、并发、并行 &#xff08;1&#xff09;串行 &#xff08;2&#xff09;并行 &#xff08;3&#xff09;并发 三、爬虫中的线程和进程 &am…...

    Tensor 基本操作2 理解 tensor.max 操作,沿着给定的 dim 是什么意思 | PyTorch 深度学习实战

    前一篇文章&#xff0c;Tensor 基本操作1 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 目录 Tensor 基本操作torch.max默认指定维度 Tensor 基本操作 torch.max torch.max 实现降维运算&#xff0c;基于指定的 d…...

    [牛客]公交线路(dijkstra+链式前向星)

    登录—专业IT笔试面试备考平台_牛客网 #include<bits/stdc.h> using namespace std; #define endl \n typedef long long ll; const int N1e65,M1e85; int cnt0,head[N]; int n,m,s,t; struct node {int v,w,next; }edge[M]; void addedge(int u,int v,int w) {cnt;edge…...

    面试被问的一些问题汇总(持续更新)

    天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

    RocketMQ原理—5.高可用+高并发+高性能架构

    大纲 1.RocketMQ的整体架构与运行流程 2.基于NameServer管理Broker集群的架构 3.Broker集群的主从复制架构 4.基于Topic和Queue实现的数据分片架构 5.Broker基于Pull模式的主从复制原理 6.Broker层面到底如何做到数据0丢失 7.数据0丢失与写入高并发的取舍 8.RocketMQ读…...