C++ 文件操作速查手册

C++核心编程手册 C++核心编程 本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓。 1 内存分区模型 C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区意义: 不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程 1.1 程序运行前 ​ 在程序编译后,生成了ex 阅读详情

一、核心头文件与基础类

1. 必备头文件

  • <fstream>:所有文件流操作的核心头文件,包含 ifstream/ofstream/fstream 三类核心文件流类;
  • <iostream>:提供流基类和基础输入输出能力(如 cin/cout),文件流类均继承自其基类;
  • <string>:用于处理文件路径字符串、读写的文本内容;
  • <cstdio>:补充文件重命名、删除等高级操作(兼容 C 标准库)。

2. 核心文件流类

  • std::ifstream:只读文件流,专门用于从文件读取数据(文本 / 二进制均可),默认以 ios::in 模式打开;
  • std::ofstream:只写文件流,专门用于向文件写入数据(文本 / 二进制均可),默认以 ios::out | ios::trunc 模式打开;
  • std::fstream:读写文件流,支持同时读取和写入文件,默认以 ios::in | ios::out 模式打开。

二、文件打开模式

文件打开模式用于指定文件的操作规则,可通过 | 组合多个模式,所有模式均属于 std::ios_base::openmode 类型:

  1. ios::in
    • 功能:以只读方式打开文件,文件不存在则打开失败;
    • 适用场景:读取配置文件、文本内容等只读操作,是 ifstream 的默认模式;
    • 常用组合:ios::in | ios::binary(二进制只读模式)。
  2. ios::out
    • 功能:以只写方式打开文件,文件不存在则自动创建,文件存在则清空原有内容;
    • 适用场景:写入新文件、覆盖原有文件内容,是 ofstream 的默认模式;
    • 常用组合:ios::out | ios::app(追加写模式)。
  3. ios::app
    • 功能:追加写入模式,所有写入内容都会添加到文件末尾,不会清空原有内容;
    • 适用场景:日志文件写入、累计数据记录等需要保留历史内容的场景。
  4. ios::binary
    • 功能:二进制模式打开文件,不处理换行符(Windows 下 \r\n/Linux 下 \n)等特殊字符,直接读写原始字节;
    • 适用场景:图片、视频、自定义结构体等非文本数据的读写。
  5. ios::trunc
    • 功能:打开文件时清空原有内容,ios::out 模式默认包含此属性;
    • 注意:与 ios::app 冲突,同时指定时 app 优先级更高。
  6. ios::ate
    • 功能:打开文件后,文件指针直接定位到文件末尾,可通过指针操作移动到其他位置;
    • 典型用法:快速获取文件总大小(定位到末尾后调用 tellg())。

三、核心函数说明(签名 + 功能 + 示例)

1. 文件打开与关闭

(1)构造函数直接打开
  • 签名(以 ifstream 为例):std::ifstream::ifstream(const std::string& path, std::ios_base::openmode mode = ios::in);
  • 功能:创建流对象的同时打开指定路径的文件,一步完成对象初始化和文件打开;
// 只读打开文本配置文件(默认ios::in模式)
std::ifstream config_in("config.txt");
// 追加模式打开日志文件(ios::out + ios::app)
std::ofstream log_out("app.log", std::ios::out | std::ios::app);
(2)open () 显式打开
  • 签名:void std::ifstream::open(const std::string& path, std::ios_base::openmode mode = ios::in);
  • 功能:为已创建的空流对象绑定并打开指定文件,适用于需要延迟打开文件的场景;
std::fstream data_fs;
// 读写+二进制模式打开数据文件
data_fs.open("data.bin", std::ios::in | std::ios::out | std::ios::binary);

(3)is_open () 检查打开状态
  • 签名:bool std::ifstream::is_open() const;
  • 功能:判断文件是否成功打开,返回 true 表示成功,false 表示失败(路径错误、权限不足等);
std::ifstream in("test.txt");
if (!in.is_open()) {
    std::cerr << "文件打开失败:test.txt" << std::endl;
    return 1; // 异常退出
}

(4)close () 关闭文件
  • 签名:void std::ifstream::close();
  • 功能:关闭已打开的文件,释放系统文件句柄资源;
std::ofstream out("log.txt");
// 写入内容后显式关闭
out.close();

2. 文本文件读写

(1)getline () 逐行读取
  • 签名:std::istream& std::getline(std::istream& is, std::string& str);
  • 功能:从输入流中读取一行文本(直到换行符,不包含换行符)到字符串变量中;
std::ifstream in("config.txt");
std::string line;
// 逐行读取直到文件末尾
while (std::getline(in, line)) {
    std::cout << "读取行:" << line << std::endl;
}
(2)>> 运算符 按空白符读取
  • 功能:从文件流中读取数据(单词、数字等),自动跳过空格、换行、制表符等空白符;
std::ifstream in("num.txt"); // 文件内容:10 20 30 40
int num;
// 逐个读取整数
while (in >> num) {
    std::cout << "读取数字:" << num << std::endl;
}
(3)get () 单字符读取
  • 签名:std::istream& std::istream::get(char& c);
  • 功能:读取单个字符(包括空白符、换行符)到字符变量中,保留文件原始格式;
std::ifstream in("test.txt");
char ch;
// 逐字符读取并输出
while (in.get(ch)) {
    std::cout << ch;
}

(4)<< 运算符 格式化写入
  • 功能:与 std::cout 用法完全一致,向文件流写入格式化数据(字符串、数字、浮点数等);​​​​​​​
std::ofstream out("log.txt");
out << "程序启动时间:" << "2026-01-26" << std::endl;
out << "用户ID:" << 1001 << " | 分数:" << 95.5 << std::endl;
(5)put () 单字符写入
  • 签名:std::ostream& std::ostream::put(char c);
  • 功能:向文件流写入单个字符,支持链式调用;​​​​​​​
std::ofstream out("char.txt");
// 链式写入字符,最终文件内容:Hello\n
out.put('H').put('e').put('l').put('l').put('o').put('\n');

3. 二进制文件读写

(1)read () 二进制读取
  • 签名:std::istream& std::istream::read(char* buffer, std::streamsize count);
  • 功能:从文件流中读取指定字节数的二进制数据到缓冲区;
// 读取4字节整数(二进制模式)
std::ifstream in("data.bin", std::ios::in | std::ios::binary);
int num;
// 强制转换为char*,读取int大小的字节数
in.read(reinterpret_cast<char*>(&num), sizeof(num));
std::cout << "读取的整数:" << num << std::endl;
(2)write () 二进制写入
  • 签名:std::ostream& std::ostream::write(const char* buffer, std::streamsize count);
  • 功能:将缓冲区中的指定字节数的二进制数据写入文件流;
// 写入自定义结构体(二进制模式)
struct Student { int id; char name[20]; float score; };
std::ofstream out("stu.bin", std::ios::out | std::ios::binary);
Student s = {1001, "张三", 95.5f};
out.write(reinterpret_cast<const char*>(&s), sizeof(s));

4. 文件指针与随机访问

文件流通过「读指针(get)」和「写指针(put)」实现随机访问,读指针操作函数以 g 结尾,写指针以 p 结尾:

(1)seekg () 移动读指针
  • 签名 1(绝对位置):std::istream& std::istream::seekg(std::streampos pos);
  • 签名 2(相对位置):std::istream& std::istream::seekg(std::streamoff off, std::ios_base::seekdir dir);
  • 功能:移动读指针到指定位置,dir 可选基准位置:
    • ios::beg:从文件开头偏移;
    • ios::cur:从当前指针位置偏移;
    • ios::end:从文件末尾偏移;​​​​​​​
std::ifstream in("test.txt");
in.seekg(0, std::ios::end); // 指针移到文件末尾(用于获取文件大小)
in.seekg(10, std::ios::beg); // 指针移到文件开头后第10字节
(2)tellg () 获取读指针位置
  • 签名:std::streampos std::istream::tellg() const;
  • 功能:返回当前读指针的位置(字节数,从文件开头算起);​​​​​​​
std::ifstream in("test.txt");
in.seekg(0, std::ios::end);
std::streampos file_size = in.tellg(); // 获取文件总字节数
std::cout << "文件大小:" << file_size << " 字节" << std::endl;

(3)seekp () 移动写指针
  • 功能与签名同 seekg(),区别是操作写指针,适用于写文件或读写文件场景;​​​​​​​
std::fstream fs("data.bin", std::ios::in | std::ios::out | std::ios::binary);
fs.seekp(5); // 写指针移到第5字节位置(绝对位置)

(4)tellp () 获取写指针位置
  • 功能与签名同 tellg(),区别是返回写指针的当前位置;​​​​​​​
std::ofstream out("test.txt");
out << "Hello";
std::streampos pos = out.tellp(); // 返回5("Hello"共5字节)

5. 错误处理函数

文件操作需检查流状态,避免操作失败导致程序异常:

(1)eof()
  • 签名:bool std::ios::eof() const;
  • 功能:判断是否到达文件末尾(EOF),返回 true 表示正常读取到末尾;​​​​​​​
std::ifstream in("test.txt");
std::string line;
while (std::getline(in, line)) {}
if (in.eof()) {
    std::cout << "文件读取完成(正常到达末尾)" << std::endl;
}

(2)fail()
  • 签名:bool std::ios::fail() const;
  • 功能:判断是否发生非致命错误(如格式错误:读取整数时读到字母);​​​​​​​
if (in.fail()) {
    std::cerr << "文件读取格式错误(非致命)" << std::endl;
}

(3)bad()
  • 签名:bool std::ios::bad() const;
  • 功能:判断是否发生致命错误(如文件损坏、磁盘故障、流被破坏);​​​​​​​
if (in.bad()) {
    std::cerr << "文件读取致命错误(如文件损坏)" << std::endl;
}

(4)clear()
  • 签名:void std::ios::clear(std::ios_base::iostate state = std::ios_base::goodbit);
  • 功能:清除流的错误状态(如 eof() 为 true 后,需调用 clear() 才能继续操作);​​​​​​​
in.clear(); // 清除所有错误状态
in.seekg(0); // 重置读指针到文件开头

6. 高级文件操作

(1)文件重命名
  • 函数:std::rename(来自 <cstdio>);
  • 功能:修改文件名,成功返回 0,失败返回非 0;​​​​​​​
#include <cstdio>
if (std::rename("old.txt", "new.txt") != 0) {
    std::cerr << "文件重命名失败" << std::endl;
}

(2)文件删除
  • 函数:std::remove(来自 <cstdio>);
  • 功能:删除指定文件,成功返回 0,失败返回非 0;​​​​​​​
#include <cstdio>
if (std::remove("tmp.txt") != 0) {
    std::cerr << "文件删除失败" << std::endl;
}

(3)获取文件大小
  • 实现方式:结合 seekg() 和 tellg();​​​​​​​
std::ifstream in("test.bin", std::ios::binary);
in.seekg(0, std::ios::end); // 指针移到末尾
int size = in.tellg(); // 获取字节数
in.seekg(0, std::ios::beg); // 移回开头,方便后续操作
std::cout << "文件大小:" << size << " 字节" << std::endl;

四、常用场景完整示例

场景 1:逐行读取文本配置文件

#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main() {
    // 打开配置文件
    ifstream config_in("config.conf");
    if (!config_in.is_open()) {
        cerr << "配置文件打开失败:config.conf" << endl;
        return 1;
    }

    // 逐行读取并输出
    string line;
    cout << "===== 配置文件内容 =====" << endl;
    while (getline(config_in, line)) {
        cout << line << endl;
    }

    // 检查读取状态
    if (config_in.eof()) {
        cout << "\n配置文件读取完成" << endl;
    }

    config_in.close();
    return 0;
}

场景 2:追加写入日志文件

#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main() {
    // 追加模式打开日志文件
    ofstream log_out("app.log", ios::out | ios::app);
    if (!log_out) {
        cerr << "日志文件打开失败" << endl;
        return 1;
    }

    // 写入日志内容
    log_out << "【INFO】程序启动成功 | 时间:2026-01-26 15:30:00" << endl;
    log_out << "【DEBUG】用户ID:1001 | 操作:登录" << endl;

    log_out.close();
    cout << "日志写入完成" << endl;
    return 0;
}

场景 3:二进制读写结构体数据

#include <fstream>
#include <iostream>
using namespace std;

// 自定义数据结构体
struct UserData {
    int id;
    char username[16];
    double balance;
};

int main() {
    // 1. 写入二进制数据
    ofstream out("user_data.bin", ios::out | ios::binary);
    if (!out) {
        cerr << "写入文件打开失败" << endl;
        return 1;
    }
    UserData user = {1002, "李四", 5000.50};
    out.write(reinterpret_cast<const char*>(&user), sizeof(user));
    out.close();

    // 2. 读取二进制数据
    ifstream in("user_data.bin", ios::in | ios::binary);
    if (!in) {
        cerr << "读取文件打开失败" << endl;
        return 1;
    }
    UserData read_user;
    in.read(reinterpret_cast<char*>(&read_user), sizeof(read_user));
    in.close();

    // 输出读取结果
    cout << "用户ID:" << read_user.id << endl;
    cout << "用户名:" << read_user.username << endl;
    cout << "余额:" << read_user.balance << endl;

    return 0;
}

场景 4:批量打开并读取多个文件

#include <fstream>
#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
    // 待打开的文件列表
    vector<string> file_list = {"file1.txt", "file2.txt", "file3.txt"};
    // 存储多个读流对象(使用移动语义,ifstream不可拷贝)
    vector<ifstream> file_ins;

    // 批量打开文件
    for (const string& path : file_list) {
        ifstream in(path);
        if (!in) {
            cerr << "跳过失败文件:" << path << endl;
            continue;
        }
        file_ins.push_back(move(in)); // 移动语义存入容器
    }

    // 批量读取每个文件
    for (int i = 0; i < file_ins.size(); ++i) {
        cout << "\n===== 读取文件:" << file_list[i] << " =====" << endl;
        string line;
        while (getline(file_ins[i], line)) {
            cout << line << endl;
        }
        file_ins[i].close();
    }

    return 0;
}

五、关键注意事项

  1. 打开文件后必须检查 is_open():路径错误、权限不足、文件不存在等都会导致打开失败,未检查会引发后续操作崩溃;
  2. 流对象不可拷贝:ifstream/ofstream/fstream 均禁用拷贝构造和赋值,批量管理时需用 std::move 实现移动;
  3. 二进制模式必加 ios::binary:读写图片、结构体等非文本数据时,不加此模式会导致换行符被篡改,数据错误;
  4. 错误状态需清除:调用 eof()/fail() 为 true 后,流会进入错误状态,需用 clear() 清除后才能继续操作;
  5. 及时关闭文件:虽然流对象析构时会自动关闭文件,但显式调用 close() 能及时释放文件句柄,避免资源泄露;
  6. 路径分隔符:跨平台代码优先使用 /(Windows 和 Linux 均支持),避免 \(Windows 专属,需转义为 \\)。

总结

  1. 文件操作核心是「流对象 + 打开模式 + 读写方法」,选对类(ifstream/ofstream/fstream)和模式是基础;
  2. 文本文件用 getline()/<< 读写,二进制文件用 read()/write() + ios::binary;
  3. 随机访问依赖 seekg()/tellg()/seekp()/tellp(),错误处理需结合 eof()/fail()/clear();
  4. 批量操作多个文件时,用 vector 存储流对象并配合移动语义,避免拷贝错误。
visual c++操作手册 ”框中会出现上面建立的工程的路径如“C:\myc\helloc”,同时要左边的“C++ Sourse Files”(图1.5),单击“确定”按钮,在“C:\myc\helloc”下就新建了文件hello.c,并显示编辑窗口和信息窗口(图1.6)。)”框中会出现上面建立的工程的路径如“C:\myc\helloc”,同时要左边的“C++ Sourse Files”(图1.5),单击“确定”按钮,在“C:\myc\helloc”下就新建了文件hello.c,并显示编辑窗口和信息窗口(图1.6)。 阅读详情

相关推荐

C/C++中文参考手册离线最新版

C/C++中文参考手册(C++23标准) 离线chm最新版”是一份非常优秀的C/C++参考手册,它涵盖了C/C++语言的所有重要概念和语法,并包含了最新的C++23标准,让开发者能够使用最新的功能和特性。此外,该手册还涵盖了STL和Boost库的内容,让开发者能够更好地使用这些库。该手册采用离线的chm格式,可以在Windows操作系统上使用,易于使用。如果您是一名C/C++开发者,不妨下载并使用该手册,它将为您的编程工作提供有力的帮助和支持。

m0_51456787的博客 9687

【超全】C++速查手册:基本语法与函数使用

C/C++语言知识点速查手册

weixin_43654363的博客 6325

Linux安装C++手册,就是这么简单

前言 在Linux编写或者编译C代码的时候,直接使用man命令就可以查看该函数的使用手册,非常方便,如: man3sleep 但是一般却没有C++的函数手册,怎么把C++的帮助手册也装在机器上呢? 本文借助C++手册的安装,说明如何自助安装man手册。 man原理 如果你还不习惯使用man命令或者不清楚man命令的作用,那么建议你先看看这篇《linux必学命令-ma...

守望的博客-编程珠玑 1465

modern-cpp-cheatsheet:C++现代特性速查手册

modern-cpp-cheatsheet:C++现代特性速查手册 项目介绍 在现代C++编程中,理解和运用新特性是提高代码质量、性能和可维护性的关键。modern-cpp-cheatsheet 是一个开源项目,旨在为开发者提供一个关于现代C++特性的速查手册。它涵盖了类型推断、自动类型、智能指针、移动语义以及许多现代C++编程的最佳实践。无论是初学者还是经验丰富的开发者,都可以通过这个项目快速回...

gitblog_01159的博客 1013

csp复赛在即,宝藏级资料送给你:【CSP-J 复赛高频模板速查手册】

csp复赛在即,宝藏级资料送给你:【CSP-J 复赛高频模板速查手册】

王老师青少年编程 1043

C++参考手册使用说明

C++参考手册是学习、使用和理解C++编程语言的重要工具,对于开发人员来说是必备的资源之一。 可直接打开使用、配置到Qt中的C++离线参考手册。

mahuifa的博客 4847

C与C++库函数速查手册

C与C++库函数速查手册 去发现同类优质开源项目:https://gitcode.com/ C/C++开发者福利来啦!这里为您提供了一份全面、方便入手的《C与C++库函数速查手册》。本手册内容详实,是学习C/C++库函数的绝佳选择。通过巧妙运用函数,让您在编程过程中走捷径,快速解题。 本手册特点如下: 内容全面:涵盖C/C++常用库函数,方便您随时查阅。 快速入门:简洁明了的讲解,让您快速掌握库...

gitblog_06736的博客 665

C&C++库函数速查手册完整指南

本文还有配套的精品资源,点击获取 简介:《C&C++库函数速查手册》为C和C++编程者提供详尽的库函数参考资料。本手册重点介绍了C语言的基础库函数,如输入输出、字符串处理、数学运算、内存管理等,以及C++在C的基础上增加的面向对象特性和STL标准模板库。通过深入理解和运用这些函数,开发者可以编写出更加高效和健壮的程序。手册附带C++库函数.chm文件,旨在帮助程序员...

weixin_33239721的博客 950

C++常用库函数速查手册(中文)下载

C++常用库函数速查手册(中文)下载 去发现同类优质开源项目:https://gitcode.com/ 欢迎来到我们的资源下载仓库!这里为您提供的是一份极为实用的资源——《C++常用库函数速查手册(中文版)》。该手册由热心网友根据www.cppreference.com的内容翻译并校准而成,是每位C++开发者的必备工具。 手册简介 本手册涵盖了C++标准库中的常用函数,旨在帮助开发者快速回顾和查找...

gitblog_06725的博客 360

【5G NB-IoT NTN】3GPP R17 NB-IoT NTN介绍_nbiot ntn

你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!” />你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!!

2401_83703866的博客 3162

告别F5失灵!手把手教你为Cursor配置.Net Core控制台项目专属调试环境

本文详细指导如何在Cursor编辑器中为.Net Core控制台项目配置专属调试环境,解决F5失灵等常见问题。从调试器选择到launch.json配置,再到高级调试技巧,帮助开发者高效搭建完整的调试工具链,提升开发效率。

weixin_28834765的博客 284

C与C++库函数速查手册:助您编程效率翻倍

C与C++库函数速查手册:助您编程效率翻倍 去发现同类优质开源项目:https://gitcode.com/ 项目核心功能/场景 C与C++库函数便捷查询,编程解题好帮手。 项目介绍 在C/C++编程的世界里,库函数是提高开发效率、优化代码质量的关键。为此,我们精心打造了一款开源项目——《C与C++库函数速查手册》,旨在为C/C++开发者提供一个全面、易用的库函数查询工具。 本项目采用简洁明了的设...

gitblog_06743的博客 716

OpenCode:终端开源AI编程助手,多模型接入与实战指南

AI编程助手正在从IDE侧边栏走向终端环境。其核心原理是让模型直接读取项目文件、执行命令、查看报错,形成从诊断到修复的完整闭环,从而解决传统插件上下文割裂的问题。技术价值在于开源透明、模型无关,既可接入OpenAI等云端服务,也能通过Ollama连接本地模型,兼顾数据安全与离线场景。在工程实践中,它适用于长时间驻留项目、自动修Bug、团队统一AI工具链等需求。OpenCode正是这样一款终端AI助手,支持灵活配置第三方API密钥,提供免费档与Go套餐,并通过Skills技能系统让模型遵循标准操作流程。同时,

weixin_28745821的博客 326

C++速查手册

C++易被忽略但推荐使用的特性

jshhmdl的博客 623

三种1:4传输线变压器巴伦的分析

满足多模多馈天线系统匹配要求的传输线变压器巴仑有:双线传输线变压器( 见图1) 、三线传输线变压器( 见图4) 和四线传输线变压器( 见图5) 。尽管3 者的结构不同, 但都可实现1∶4 阻抗变换和不平衡-平衡转换。下面就应用电报方程对它们的阻抗变换特性和输出平衡特性进行分析。

weixin_42407808的博客 8041

解锁机器人动态平衡算法:从原理到实践

机器人的动态平衡,是指机器人在运动过程中,面对各种复杂的动态变化和外界干扰,依然能够维持稳定状态,不发生倾倒或失去控制的能力。它就像是一位技艺精湛的舞者,在舞台上翩翩起舞时,无论做出多么复杂的动作,都能巧妙地调整身体姿态,始终保持平衡,展现出优美的舞姿。在实际应用中,机器人的动态平衡对于其稳定运行起着至关重要的作用。以双足机器人为例,当它行走在不平整的地面上时,地面的起伏会使机器人的重心不断发生变化。如果没有良好的动态平衡能力,机器人就很容易因为重心偏移而摔倒,无法完成行走任务。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 3837

C++ 知识要点速查手册

不可重载的运算符:

2301_77141494的博客 354

Palantir如何利用Ontology构建企业级数据地图

Palantir通过"本体论"(Ontology)技术构建动态数据地图,将多源异构数据转化为可操作的业务知识网络。该技术突破传统ETL模式,建立覆盖全组织的语义层,将原始数据映射为"客户""订单"等业务对象及其关联关系,形成可推理的语义网络。核心Foundry平台提供本体管理工具(OMA)和开发套件(OSDK),支持从数据连接到应用开发的全流程。虽然采用专有实现而非标准本体语言,但该架构成功解决了数据孤岛问题,赋能复杂决策分析

Learning 1786

C++11 新特性速查手册

本文介绍了C++11的核心特性改进,主要包括:语法增强(auto类型推导、范围for循环、Lambda表达式等);智能指针(unique_ptr、shared_ptr、weak_ptr及其RAII机制);右值引用与移动语义;函数对象与绑定器;多线程支持(thread、mutex);异常处理机制(try/catch、noexcept);安全类型转换(static_cast等);以及新增标准库组件(容器、算法、工具类)。

My__Space的博客 985

AI 大模型接口太零散?自建私有模型管理平台统一整合,管理使用超方便!(支持飞牛nas、群晖nas等服务器快速部署)

面对多种 AI 大模型接口难统一、管理繁琐的问题🤯,本文分享一款超实用开源网关工具⚡,可聚合各大模型、自动转接口、支持可视化管理,Docker 一键部署,大幅降低开发与维护成本🚀

XiaoqiangClub的博客 265

优快云独家首发!万字长文,YOLOv5/v7/v8算法模型yaml文件史上最详细解析与教程!小白也能看懂!掌握了这个就掌握了魔改YOLO的核心!

🍀🍀🍀YOLOv5/v7/v8算法模型yaml文件史上最详细解析与教程,全网最强,学不会算我输!!!

Coding... 1万+

C++参考手册和资源

weixin_43510208的博客 1420

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

c/c++ 中文手册

整理了一些中文手册,帮助在C语言当中的学习

小花的博客 1439

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

CMake 速查手册

CMake速查手册摘要:本文提供CMake核心语法规则、指令详解和常用变量说明。包含基础配置指令(如cmake_minimum_required、project)、变量操作(set、option)、文件目录操作(include_directories、add_subdirectory)、目标生成(add_executable、add_library)等关键指令语法及示例。同时列举了编译器选项、路径变量等重要变量,如CMAKE_CXX_FLAGS、PROJECT_SOURCE_DIR等。手册采用速查表形式,清

似流水般平静而坚定。 1147

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ACM/ICPC 算法竞赛模板与速查手册(C++17)

本文是一份面向ACM/ICPC算法竞赛的C++17模板速查手册,涵盖了竞赛中常用的14大类算法模板与技巧。主要内容包括基础输入输出、数据结构、图论、动态规划、数学、字符串处理等核心算法,以及调试技巧和赛前检查清单。手册采用模块化设计,所有代码基于C++17标准,可直接用于竞赛环境。特别整理了从题面特征到算法选择的速查表,并强调正确性优先于代码美观性的竞赛原则。附有复杂度分析、整数范围提醒等实用内容,适合作为算法竞赛的快速参考工具。

2301_78135224的博客 940

【超全】C++速查手册:面向对象与继承多态

【超全】C++速查手册:面向对象与继承多态

weixin_43654363的博客 258
上一篇: C++ 文件操作全知识点详细讲解
下一篇: C++ 知识点清单_Blog导航
Howrun777
博客等级 码龄1年 133粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值