C标准库
stdio.h void perror(const char* err) stdlib.h int system(const char* command) 在windows系统中,system函数直接在控制台调用一个command命令。 在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行shell command命令,命令执行完后随即返回原调用的进程。
leetcode-1477
leetcode-1477: 找两个和为目标值且不重复的子数组 双指针 动态规划 1
leetcode-31
leetcode-31:下一个排列 题目描述:下一个排列。 解题思路: 实现:
Markdown语法测试文章
关于Mdmdt主题 Mdmdt 是 markdown minimalism document theme 的缩写,意为: Markdown极简文档主题。 Mdmdt[^1]是深度定制的个性化Typora主题,其目的是打造一个清爽极简的文档样式。 [!NOte] **注意:**mdmdt.css 文件中包含了亮色和暗色两者主题,会跟随系统模式自动切换亮暗主题。 This is a single line code style Attention: The MDMDT.CSS file contains both light and dark themes, which will automatically switch between light and dark themes according to the system mode. 文本 这是一段正文内容样式,以下是不同文本样式效果:这是加粗文本样式, 这是下划线样式, 这是斜体字样式, 这是超链接样式: https://github.com/cayxc/mdmdt, This is a single line code ...
Mdmdt theme readme
About Mdmdt theme 中文文档 Mdmdt is an abbreviation for Markdown Minimalism Document Theme, meaning: Markdown Minimalism Document Theme.Mdmdt is a deeply customized personalized Typora theme, aimed at creating a refreshing and minimalist document style. The Mdmdt theme has now been included in the official Typora theme library. Compared to the default theme style, the following aspects have been mainly modified: Simple and comfortable color matching style Modify the title style Modify the ...
Mdmdt主题
关于Mdmdt主题 English Document Mdmdt 是 markdown minimalism document theme 的缩写,意为:Markdown极简文档主题。 Mdmdt 是深度定制的个性化Typora主题,其目的是打造一个 清爽极简 的文档样式。Mdmdt 主题现已收录至 Typora官方主题库https://theme.typoraio.cn. 相比于默认主题风格主要修改了以下几个方面: 简洁舒适的配色风格 修改标题样式 修改表格样式 修改引用框样式 为图片添加圆角样式 代码添加高亮样式 修改文件树、大纲和文档列表样式 自动跟随系统的亮色/暗色主题模式(可单独设置亮/暗主题) 修改其他UI样式 [!IMPORTANT] **注意:**该主题只在 Windows 和 MacOS 环境下测试过,Linux环境下未做测试,使用时还请注意! 预览 个性化图文布局 本主题提供了一些个性化图文布局方案,具体使用方法请参考 “Mdmdt主题演示demo.md” 中的“个性化图文布局”章节相关内容。 个性化图文布局预览:...
C++ string分割
string分割 方法一:使用find()和substr(). 用字符分割字符串: 1234567891011121314151617181920// 使用字符分割void Stringsplit(const string& str, const char split, vector<string>& res){ if (str == ""){ return }; //在字符串末尾也加入分隔符,方便截取最后一段 string strs = str + split; size_t pos = strs.find(split); // 若找不到内容则字符串搜索函数返回 npos while (pos != strs.npos) { string temp = strs.substr(0, pos); res.push_back(temp); //去掉已分割的字符串,在剩下的字符串中进行分...
C++ 获取文件大小
获取文件大小 1234567891011121314151617181920#include <sys/stat.h>// 通过stat结构体 获得文件大小,单位字节size_t getFileSize(const char *fileName) { if (fileName == nullptr) { return 0; } // 这是一个存储文件(夹)信息的结构体,其中有文件大小和创建时间、访问时间、修改时间等 struct stat statbuf; // 提供文件名字符串,获得文件属性结构体 stat(fileName, &statbuf); // 获取文件大小 size_t filesize = statbuf.st_size; return filesize;}
Linux多进程编程
Linux多进程 基本函数 fork()函数 用于创建一个进程,所创建的进程复制父进程的代码段/数据段/BSS段/堆/栈等所有用户空间信息;在内核中操作系统重新为其申请了一个PCB,并使用父进程的PCB进行初始化。 1pid_t fork(); // pid_t实际上时int类型 fork时可以看作==父进程在fork执行的位置进行了一次分裂,分裂出一个子进程==。父进程从fork的返回值得到子进程的pid,子进程在fork位置得到返回值0,并且从fork的下一句开始执行。 使用实例: 12345678910111213141516171819int main(){ pid_t fpid; //fpid表示fork函数返回的值 int count = 0; fpid = fork(); if (fpid < 0) cout << "error in fork!" << endl; else if (fpid == 0) { cout <<...
标准IO
详细信息请参考man手册 fopen(...) 具体参数参考man fopen 返回 FILE* 类型,FILE是文件流 在不更改默认的设置的情况下,一个进程中能打开的文件个数最多是1024个(每个文件都是一个流),因为存在stdin,stdout,stderr三个流。所以实际能打开1021个。 可以使用ulimit -a查看进程对资源的限制 如果用fopen()创建新文件,则新文件的访问权限由0666 & ~umask(8进制位运算)(umask的值默认为0002)决定,所以一般得到的文件权限为:rw-rw-r--(八进制0664的后三位) fclose(FILE *) 关闭传入的文件流,释放FILE *指向的内存 成功返回0,不成功返回EOF,(多数系统中EOF为-1) fputc() fgetc()