C/C++
Learn Summary
RenGarZero
RenGar
展开
-
Mingw执行命令查看g++包含路径
执行命令查看g++包含路径vscode检测到#include错误,请更新includePath。解决方法_Kuany_的博客-CSDN博客_检测到include错误,请更新includepathg++ -v -E -x c++ -原创 2023-03-15 16:55:25 · 563 阅读 · 0 评论 -
CMake
cmake_minimum_required (VERSION 3.9)#规定cmake的最低版本要求INCLUDE(CMakeForceCompiler)CMAKE_FORCE_C_COMPILER(gcc GNU)CMAKE_FORCE_CXX_COMPILER(g++ GNU)project(Cmake_test)#项目的名称,不一定和你的文件夹名称一样set(CMAKE_CXX_COMPILER "C:/MinGW/bin/g++.exe")#设置c++编译器set(CMAKE_C_C.原创 2021-04-08 14:21:45 · 257 阅读 · 0 评论 -
C++ String-字符串
C++中引入了字符串类型,C里面使用字符数组表示字符串。但是c语言中字符串以 '\0' 结束,但是C++不一定(由编译器决定)。为什么C语言风格的字符串要以'\0'结尾,C++可以不要。使用字符数组表示字符串时,往往需要的空间总比内部字符多一个,因为留一个 '\0' 的空间参考:https://blog.csdn.net/qq_31930499/article/details/80...原创 2021-04-08 14:18:51 · 87 阅读 · 0 评论 -
C++智能指针
智能指针https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/magic/智能指针是一个通过重载*和->运算符以表现得如指针一样的类.智能指针类型被用来自动化所有权的登记工作, 来确保执行销毁义务到位.std::unique_ptr是 C++11 新推出的一种智能指...原创 2021-04-08 14:20:26 · 94 阅读 · 0 评论 -
system()函数使用变量参数,string 转为char*
// 使用pandoc将md格式转为htmlvoid mdtohtml(string file,string filename){ // pandoc --standalone --self-contained API_First.md -f markdown -t html -o C:\Users\Administrator\Desktop\Q3_API_Release\API_CHM\API_First.html // pandoc --standalone API_First.md.原创 2021-04-08 14:15:30 · 374 阅读 · 0 评论 -
Ubuntu配置Pyside2环境总结
0x00 遇到的问题说明1. 在ubuntu下安装任何包,出现下图错误,几经搜索终于找到原因,是因为禁止了Ubuntu自动更新导致的解决办法:在软件安装界面启动2. python安装pyqt5出现异常,问题如下所示开始安装1. 首先去官网下载在线安装包,如下图剪头标记文件,然后在命令行中直接运行,命令见右侧红线标记。2. 执行命令会弹出QT的安装界面,首先会让你登陆,有账号直接登陆,没有的注册就好了3. 登录后,按照向导执行,一直往后走直到安装完,安装大...原创 2021-04-08 14:11:11 · 985 阅读 · 1 评论 -
C++获取、修改系统环境变量
C++获取、修改系统环境变量#include <iostream>#include <stdlib.h>#include <Windows.h>using namespace std;// 获取环境变量getenv("变量名")int main(){ char* strenv; putenv("ENV_Temp_Test=H:\\CLi...原创 2020-04-27 21:35:09 · 1072 阅读 · 0 评论 -
C/C++ 显示文件夹的所有文件
#include <iostream>#include <string>#include <fstream>#include <vector>#include <io.h>using namespace std;//从jm文件中拷贝内容到另一个不jm文件,,注意不能通过程序读加密文件的内容,读出来的内容会被加密voi...原创 2020-04-27 18:06:41 · 707 阅读 · 0 评论 -
gcc环境下 使用C/C++ 连接Mysql数据库
在网上查询很久资料,都是使用VS Stduio的。没有GCC环境下,使用C/C++连接mysql数据库的详细指导,查询资料后现总结如下:首先,先将mysql下的include文件夹复制到自己的工程下。同时将lib文件夹下的libmysql.dll libmysql.libmysqlclient.lib三个文件也复制到自己的工程下。mysql的include文件夹...原创 2020-04-25 21:39:27 · 1865 阅读 · 3 评论 -
学生管理系统
主函数,管理系统入口——ManageStuSys.cpp#include <iostream>#include "../inc/ManageStuSys.h"// #include "./ManageLink.cpp"using namespace std;// g++ -g ManageStuSys.cpp ManageLink.cpp -I ../inc -o m...原创 2021-04-08 14:09:31 · 530 阅读 · 0 评论 -
char* 、const char* 、char []、string互相转换使用
https://www.learncpp.com/cpp-tutorial/6-8b-c-style-string-symbolic-constants/原创 2020-04-03 15:43:40 · 483 阅读 · 0 评论 -
Windows10安装MinGW
安装MinGW参考:https://blog.csdn.net/u013171283/article/details/80898442安装过程中可能会出现下面两个文件错误make-3.82.90-2-mingw32-cvs-20120902-bin.tar.lzmagdb-7.6.1-1-mingw32-bin.tar.lzma出现上述包下载失败信息,到下面到地址去找对应...原创 2020-04-08 13:11:54 · 2402 阅读 · 5 评论 -
line.find("*") == string::npos
string::find()函数:是一个字符或字符串查找函数,该函数有唯一的返回类型,即string::size_type,即一个无符号整形类型,可能是整数也可能是长整数。如果查找成功,返回按照查找规则找到的第一个字符或者子串的位置;如果查找失败,返回string::npos,即-1(当然打印出的结果不是-1,而是一个很大的数值,那是因为它是无符号的)string::npos静态成员常量:是对类...原创 2020-04-08 10:34:11 · 3193 阅读 · 0 评论 -
Windows下Socket通信
参考:https://blog.csdn.net/qq_36409711/article/details/78937137?https://blog.csdn.net/qq_27923041/article/details/83857964服务端#include <iostream>#include <winsock.h>#pragma com...原创 2020-03-31 12:08:16 · 182 阅读 · 0 评论 -
C++异常
https://www.cnblogs.com/MrYuan/p/4800257.html原创 2020-03-28 11:59:07 · 154 阅读 · 0 评论 -
C++文件流、字符串流
#include <iostream>#include <stdexcept>#include <exception>#include <vector>#include <fstream>#include <sstream>using namespace std;ifstream in;void e...原创 2020-03-27 17:24:18 · 365 阅读 · 0 评论 -
函数指针VS指针函数、数组指针VS指针数组
函数名本质上就代表函数的首地址,数组名代表数组的首元素地址。type (*ptr) (param)函数指针 =函数的指针,一个指针变量指向的地址存着一个函数.//定义一个函数void fuc1(int a){ cout << "this is fuc1 define" << a <<endl;}//声明函数指针int (*fu...原创 2020-03-23 21:54:49 · 145 阅读 · 0 评论 -
C++的cout输出二进制,八进制
#include <iostream>#include <bitset> //输出二进制的头文件using namespace std;int main(){ int a = 2149580819; cout << "八进制: " << oct << a << endl; cout << "十进制:...原创 2020-03-07 13:59:57 · 14439 阅读 · 4 评论 -
Windows下使用gcc生成.dll动态链接库
生成dll命令:g++ test.cpp -I头文件路径 -fpic -shared -o 动态库名这里面test.cpp保存一些函数方法 g++ TestClass.cpp -I ../inc -fpic -shared -o TestClass.dll调用动态库:g++ main.cpp-I头文件路径 -L动态库路径 -I调用的动态库 -o 可执行文件名这里面m...原创 2020-03-06 15:49:22 · 7443 阅读 · 0 评论 -
AndroidStudio3.5安装
选择自定义选项安装后出现Grandle同步失败的问题,还会出现NDK版本未知的问题解决办法:安装完成后选择标准安装,不要选择自定义安装,等到进入界面后点击ProjectStruct,下载NDK即可。...原创 2020-03-05 20:44:19 · 381 阅读 · 0 评论 -
变量内存分析
程序运行,由编译器给变量分配内存,往往先定义变量它的地址较大,空间在下面,后定义的变量的内存地址较小,空间在上面。例如定义两个大小一样的数组int a[5] = {1,2,3,4,5};int b[5] = {1,2,3,4,5};上面先定义了数组a,那么a空间地址就在下面,后定义的b的空间地址就在a的上面。同理若是先定义数组b,那么b的空间地址就在下面,后定义的a的空间...原创 2020-02-16 15:00:37 · 389 阅读 · 1 评论 -
C++输入密码时显示*,可以删除输入字符
需要使用#include <conio.h> 头文件,这个头文件中说明:1、getch()函数功能:在windows平台下从控制台无回显地取一个字符。 用法 int getch(void) 。 返回值 从键盘上读取到的字符。2、 putch()函数功能: 在当前光标处向文本屏幕输出字符ch,然后光标自动右移一个字符位置。用 法: int putc...原创 2020-02-12 13:19:09 · 1587 阅读 · 0 评论 -
C/C++文件操作
读写操作流程: 1.为要进行操作的文件定义一个流对象。 2.打开(建立)文件。 3.进行读写操作。 4.关闭文件。详解: 1.建立流对象: 输入文件流类(执行读操作):ifstream in; 输出文件流类(执行写操作):ofstream out; 输入输出文件流类:fstream both; 注意:这三类文件流类都定义在f...原创 2020-02-11 17:30:24 · 317 阅读 · 0 评论 -
C++引用
C++引用其实就是给变量起个别名,定义引用时必须要初始化为变量,不能初始化为常量。定义引用变量int i = 100;int& ref1 = i;//引用必须初始化,不可以先定义在复制==赋值cout << ref1;//输出就是i的值//直接修改引用变量的值就可以修改原来变量的值,修改原来变量的值,引用变量的值也会被修改。ref1 = 2000;//引用...原创 2020-02-11 13:10:28 · 186 阅读 · 0 评论 -
C++随机数
C++中的随机数(伪随机)产生不像其他语言直接通过Random函数生成,需要使用 cstdlib库中rand()函数。产生 [a,n) 的随机数通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。一般为了产生不重复的随机数,会使用srand()函数设置种子,会以时间为种子。srand((int)time(0));//产生随机数种子,srand()函数例...原创 2020-02-11 13:12:07 · 269 阅读 · 0 评论 -
指针常量和常量指针
参考:https://stackoverflow.com/questions/1143262/what-is-the-difference-between-const-int-const-int-const-and-int-const指向常量的指针和常量指针都是指针。常量指针(const pointer),英语里并没有 指针常量 这种说法,只有一个pointer to const(指向常量...原创 2020-01-19 15:14:01 · 148 阅读 · 0 评论 -
C++动态内存分配
动态内存申请,我们程序请求的动态内存由系统从内存堆中分配。栈Stack:就是有编译器申请并释放堆Heap:就是有程序员申请并释放动态申请内存c++的动态内存申请是以类型为单位进行内存分配的,而c是以字节malloc(sizeof())分配。C++使用new,一般分为两个步骤:operatornew分配内存空间,这里使用malloc()函数 plac...原创 2020-01-05 22:08:05 · 392 阅读 · 0 评论 -
Makefile
gcc编译过程gcc -E 源文件 -o *.i 预处理/预编译,使用c源程序文件,生成 *.i 文件。gcc -S *.i -o *.s 编译,使用 *.i 文件,生成 *.s 文件。gcc -c *.s -o *.o ...原创 2020-01-03 17:26:17 · 1602 阅读 · 2 评论 -
C++类
c++类学习——00#include <iostream>#include <cstring>//c中的字符串#include <string>//c++的字符串using namespace std;class Test{// e类的私有方法,只能通过类内部访问private: /* data */public: do...原创 2019-12-31 14:58:43 · 121 阅读 · 1 评论 -
Vim配置
vim的配置文件在/etc/vim/vimrc里。可打开修改该文件来配置vim。 一般这个文件是只读的,需要在终端输入 sudo gedit 命令,然后打开该文件按照下面内容编辑即可。set nu "显示行号 set nonu "不显示行号 set ai "自动缩进 set noai "不自动缩进 set showmatch "括号匹配syntax on "语法参...原创 2019-12-27 14:32:18 · 91 阅读 · 0 评论 -
Windows虚拟机安装Ubuntu系统配置GCC环境
1.首先新建虚拟机,选择稍后安装系统 -> 选择Linux系统,一直下一步即可。2.新建的虚拟机加载Ubuntu.iso,进入系统安装,选择语言为汉语,安装选择最小安装。3.一直等待系统安装结束。4.安装vmwaretool,点击虚拟机菜单栏选择 安装VMwareTool ,会在ubuntu桌面出现一个光驱,双击光驱打开光驱文件夹双击打开内部tar文件,将tar内部文件夹 v...原创 2019-12-26 22:32:42 · 1192 阅读 · 1 评论 -
源码编码问题
GCCGCC编译源文件默认将它修改为UTF-8编码,若源文件是GBK,则文件中的中文无法在GCC正常显示。只有源文件编码使用UTF-8,GCC才能正常显示中文。1.使用Sublimetext编译也是使用GCC编译,运行时在Console无法显示,在命令行和GCC命令行都是一样的。如下源文件是GBK编码,但是GCC编译后是UTF-8编码,所以中文乱码。Win10CM...原创 2019-12-16 16:56:29 · 416 阅读 · 0 评论 -
c语言fopen函数文件路径
当前目录默认为exe文件目录,使用CLionIDE时可执行文件是放在CMakeFiles文件夹下的,若需要文件路径和代码路径一致,需使用../文件名——一个 .代表一级目录 ./代表当前目录, ../代表当前目的的父目录, ...原创 2019-12-14 20:52:19 · 4115 阅读 · 0 评论 -
GBD调试
GDB调试输出到文件:1.gcc -g源文件2.gdb可执行文件3.进入gdb模式后,设置日志存储的文件set logging file xxx.txt4.开始将日志拷贝到文件set logging on5.关闭拷贝set logging off6.结束调试后,在当前文件夹打开日志即可查看。...原创 2019-12-12 10:01:41 · 437 阅读 · 0 评论 -
结构体
结构体成员是字符数组时,一些列操作//// Created by GitWang on 2019/12/11.//#include <stdio.h>#include <stdlib.h>//结构体成员的定义时不能初始化struct A{ //define char array char strA[20]; // int age...原创 2019-12-11 23:38:46 · 235 阅读 · 0 评论 -
结构体成员——数组或指针
c语言中没有字符串类型,只能使用字符数组表示字符串。当定义结构体时,成员是字符数组时,在外部给该成员赋值,不能使用结构体把变量名.成员名 = "ssss";上述表达式是错误的,定义成员是数组,直接使用成员名表示的是该数组的首地址,赋值时只能给他地址,不能给他常量。可以使用字符串函数strcpy给字符数组(相当于字符串)复制一个字符串。struct { char...原创 2019-11-19 21:35:56 · 4548 阅读 · 0 评论