IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++ 代码小工具 -> 正文阅读

[C++知识库]C++ 代码小工具

C++ 代码小工具(壹)

1、vector 二维数组的转置

代码:

template<typename T>
vector<vector<T> > transpose(vector<vector<T> >& matrix)
{
    vector<vector<T>>v(matrix[0].size(), vector<T>());
    for (int i = 0; i < matrix.size(); i++)
    {
        for (int j = 0; j < matrix[0].size(); j++)
        {
            v[j].push_back(matrix[i][j]);
        }
    }
    return v;
}

注释:

参数 matrix: 输入二维 vector 数组

返回:转置后的二维 vector 数组

运行结果:

在这里插入图片描述

2、文件保存

code

1、宏定义

#define DEBUG 0 // 开关
/*
 * PRINTF调试信息:
 *     使用:PRINTF(),打印调试log
 *      // 这个宏是用来打印错误信息的,其中__FILE__、__FUNCTION__、__LINE__是编译器提供的宏,
 *          分别可以用来打印文件名、函数名、和行号
 */
#ifdef DEBUG
#define MY_INFORM(format, ...) printf("INFO[%d]: ",__LINE__);printf(format"\r\n",##__VA_ARGS__)
#define MY_ERRO(erro, ...)   printf("ERROR[%d]:  %s/%s \r\n",__LINE__,__FILE__,__FUNCTION__); printf(erro"\r\n",##__VA_ARGS__); exit(0)
#else
#define MY_INFORM(format, ...) 
#define MY_ERRO(erro, ...)
#endif

#define PATHNAME 0
#ifdef PATHNAME
    const string PATH = "/home/lhl/Samplering/gmm/data/";
#else
    const string PATH = "./";
#endif

2、写文件

const string FILE_NAME = "data";
const string FILE_TYPE = ".txt";
template<typename T>
void writefile(int count,vector<T> target)
{
    vector<T> TARGET(target);
    string COUNT = static_cast<string>(to_string(count));
    string FILE = PATH + FILE_NAME + COUNT + FILE_TYPE;
    MY_INFORM("File name is %s",FILE.c_str());

    fstream FILEx;
    FILEx.open(FILE,ios::out);
    if (!FILEx.is_open())
    {
        MY_ERRO("The file %s can't be open!",FILE.c_str());
    }
    for (auto i = TARGET.begin(); i < TARGET.end(); i++)
    {
        FILEx << *i << " ";
        
    }
    FILEx << endl;
    FILEx.close();
} 

3、main

int main(int argc, char const *argv[])
{
    int count = 0;
    vector<string> my_TEXT = {"my","name","is","l","Yoos"}; 
    MY_INFORM("Save File!");
    writefile(1,my_TEXT);
    MY_INFORM("Save successed!");
    return 0;
}

运行结果:

在这里插入图片描述

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-13 22:34:39  更:2022-04-13 22:58:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:34:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码