C++
文章平均质量分 56
董国政
这个作者很懒,什么都没留下…
展开
-
C++链接远程MySql,增删改查
最近参与了《VR祖码》的开发,开发团队用的是UE4引擎,C++作为开发语言,需要在服务器存储数据然后就一直在研究C++链接MySql,虽然简单,但是里面的坑还是很多的,网上的例子也很多但是大多都是好几年前的,还有的就IDE不同,要么就是链接的本地的数据库,导致代码无尽报错,最后请教了高人,解决了问题,感谢提供帮助的河软李老师,赵老师 如果没有他们的帮助就没有这篇文章,转载请保留版权,原创 2018-01-08 20:18:52 · 5813 阅读 · 0 评论 -
C++Socket
电脑与电脑之间的通讯其实是Socket与Socket之间的通讯 学习Socket是网络开发的必经之路 学习Socket之前最好有点TCP/IP协议的基础 下图是我在学习过程之中整理的笔记,后期会继续完善 如果看不清右击在新建标签中打开 知道网络协议之后便可以开始敲Socket了 先看效果图: 下面是SocketC++的源代码 IDE:Visual Studio 2017原创 2017-12-30 13:19:05 · 5575 阅读 · 1 评论 -
C++正则表达式 regex
有时候我们在开发项目的时候会用到正则表达式, 在PHP中写正则很简单 但是在C++中就变得复杂了点 看了很长时间的MSDN最后终于搞懂了 下面是MSDN链接 https://msdn.microsoft.com/zh-cn/library/bb982727.aspx#include "stdafx.h"#include <iostream>#include <regex>using原创 2017-12-31 01:11:15 · 450 阅读 · 0 评论 -
C++,在UE4中写Hello World!!
IDE : Visual Studio2017 UE版本:4.17.2首相创建C++项目在项目浏览器中打开默认的模式,如果没有右下角视口选项 这时候会启动Visual Studio然后在CPP中写入代码// Fill out your copyright notice in the Description page of Project Settings.#pragma once#inc原创 2017-11-28 17:54:42 · 2084 阅读 · 2 评论 -
C++读写本地文件(文件IO流)
我们在开发项目过程中经常会写一些项目的配置信息 今天记录一下C++的IO流,其实很简单首先我用C++打开一个C盘的txt文件并且读取出来, 然后在结尾写要给END如图所示: 第一步: 首先要在c/c++的预处理器定义中添加 添加_CRT_SECURE_NO_WARNINGS#include "stdafx.h"#include<cstdlib>#include<cstdio>#inc原创 2018-02-11 21:05:56 · 4106 阅读 · 0 评论 -
C++彩色字体
代码:#include "iostream"#include"windows.h"using namespace std;int main(){ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED); cout <&...原创 2018-02-14 21:57:29 · 2285 阅读 · 0 评论 -
VA番茄助手支持vs2017
注意:该补丁仅仅支持到2015,为了使它支持vs2017,需要在应用完补丁之后,从vs2015中将va_x.dll文件拷贝到vs2017相对应的目录。链接:https://pan.baidu.com/s/10ZioWlQwLPrAMz60yxb_Hw 密码:v9sv...原创 2018-06-10 19:47:04 · 13417 阅读 · 6 评论 -
检测VC库是否存在
本篇文章整理自网络,所以没有标注原创,原创我也找不到通过MSI的API来查询 ,参见MSDN说明 MsiQueryProductStateMsiQueryProductState的输入参数为产品ID,其返回值为产品安装状态,若返回值为INSTALLSTATE_DEFAULT则表示已安装。返回值及安装状态:INSTALLSTATE 返回值 产品的安装状态 INSTALLSTAT...翻译 2019-07-04 14:16:42 · 838 阅读 · 0 评论 -
静默安装VC环境
直接cmd 运行 后面加 /quiet即可Shell.Execute(SessionVar.Expand("%TempLaunchFolder%\\vc_redist.x64.exe"), "open", "/quiet", "", SW_SHOWNORMAL, true)原创 2019-07-04 15:39:31 · 1288 阅读 · 0 评论 -
程序的安装与卸载
开发安装包有很多种方法,本文提供一种思路程序的安装与卸载分两个部分一个是安装 一个是卸载安装程序 负责联网下载程序的压缩包,解压,创建快捷方式,检测与修复项目运行环境 ,写入注册表 ,生成卸载程序到项目目录,以及进入项目卸载程序 负责 删除整个项目,删除自身,删除注册表,删除快捷方式,大体就是这个思路,然后逐一实现出来就行了其中注册表部分为了要在win10系...原创 2019-07-12 16:47:21 · 964 阅读 · 0 评论 -
C++中的argc和argv
我们经常看到C++程序中的main函数带有两个参数 int main(int argc , char * argv[]) 其中 argc 是 argument count的缩写 argv 是 argument vector的缩写 第一个是传入main参数的个数,第二个是参数的指针下面用一个例子说明void main(int argc, char *argv[]){ for (int原创 2017-11-05 17:50:13 · 1023 阅读 · 0 评论 -
C++之预处理命令
C++的编辑器在没有对代码进行编译的时候首先要执行C++的预处理指令的 预处理指令会先于编辑器对代码进行处理整理的一张图: 看不清的话右击新窗口打开原创 2017-11-13 16:47:10 · 425 阅读 · 0 评论 -
C++各进制的输出
#include "stdafx.h"#include<iostream>#include<cstdlib>using namespace std;int main(){cout << "请输入一个整数" << endl;int x = 0;cin >> x;cout << bin << x << endl;cout << oct << x << endl;cout << dec原创 2017-05-12 14:50:28 · 495 阅读 · 0 评论 -
继承类的访问权限问题
// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include<cstdlib>using namespace std;class FATHER //定义一个基类{public: int a = 1; private: int b =原创 2017-02-24 09:32:02 · 621 阅读 · 0 评论 -
一个类的对象可以成为另一个类的数据成员
在慕课网学习类的封装 看着视频跟着老师敲代码感觉很简单 关掉视频自己敲 敲到一半发现敲不动; 然后又反复的看了几遍视频 最后知道了自己不会的原因 这是要求 其实老师是 实例化了两个坐标类的对象 然后放到Line类里作为 private 成员变量了———————————————————————— 下面是我自己敲的代码 总共有5个文件 首先是包含main函数的cpp文件#i原创 2017-05-26 16:10:50 · 6957 阅读 · 0 评论 -
C++之swap()函数
swap()函数用来交换两个字符串的值int main(){ string s1 = "hello C++"; string s2 = "wu ba ge"; cout << "交换之前" << endl; cout << "s1:" << s1 << endl << "s2:" << s2 << endl << endl;; s1.swap(s2);原创 2017-05-17 11:48:21 · 3467 阅读 · 0 评论 -
C++之const的使用
const是常量意思 常量是不可以被改变的const int a =1;int const a =1;所表示的都是啊a=1;且a不可以被改变const可以修饰指针如果const位于*的左侧,即指针指向为常量; 如果const位于*的右侧,即指针本身是常量。int a = 10;const int* p = &a; // 指针指向的内容不能变int const* p =原创 2017-05-16 10:44:14 · 201 阅读 · 0 评论 -
C++之函数参数默认值
有默认参数值的参数必须在参数表的最右端void fun(int i, int j=5, int k =10);void fun(int i, int j=5, int k);//错误无实参则用默认值,有实参覆盖默认值void fun(int i, int j=5, int k=10);void fun(int i, int j, int k){ cout<<i<<j<<k<<endl;原创 2017-05-17 20:51:38 · 338 阅读 · 0 评论 -
C++之内存的申请和释放
申请和释放某一个类型的内存方法:int *p = new int;delete p;申请块内存的方法int *arr = new int[10];delete []arr;判断内存是否申请成功int *p =new int [100000];if(NULL == p){ cout<<"内存申请失败"<<endl;}原创 2017-05-22 10:34:07 · 1098 阅读 · 0 评论 -
C++之对象的封装
#include "stdafx.h"#include<iostream>#include<cstdlib>using namespace std;class TV // 定义一个类 类名是TV{public: char name[20]; //成员变量 数据成员 或者 叫 属性 int type; void changVol(); // 成员原创 2017-05-22 11:14:25 · 333 阅读 · 0 评论 -
c++中string的几种赋值方法
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作 c++可以赋一个比现有字符更长的字符串而C不可以#include "stdafx.h"#include#include#include"string" //操作字符串必须包含的头文件using namespace std;void main(){string s1 = "aaaaa";strin原创 2017-05-22 11:50:48 · 80327 阅读 · 3 评论 -
C++之 typedef
typedf 是给类型起别名比如官方的整形叫int我们可以起个别名叫MyType写法如下:typedef int MY_TYPE;然后就可以用 MY_TYPE 定义整形变量了假如后期变量多了对类型修改的话也方便注意:一般typedef声明的类型用大写字母表示原创 2017-09-25 17:51:36 · 264 阅读 · 0 评论 -
C++指针常量和常量指针
指针常量和常量指针的书写区别就是 “const”和“p”的位置指针常量,指向const的指针,指针可以修改,指向的数据不可以修改 常量指针,指针本事是常量,指针不可以修改,指向的数据可以修改原创 2017-09-20 10:11:37 · 295 阅读 · 0 评论 -
C++各数据类型所占的字节长度
汇总:原创 2017-09-22 17:18:02 · 414 阅读 · 0 评论 -
C++之 __int16 用法
在看别人代码的时候看到了 __int 16 定义的变量 于是好奇,为什么不用 int 定义上网查了一下 首先要知道 这里的16是指16个位一个汉子有两个字节(byte)一个int有4个字节 而一个字节有8个位(bit) 也就是一个int有32个位(bit)而这里的 __ int 16 也就是一个汉字的长度 但int是两个汉字的长度这样定义还有一个优点就是无论什么操作系统 所定义出来的原创 2017-10-25 19:27:48 · 9093 阅读 · 0 评论 -
C++ 之强制类型转换 static_cast
int main(){ double a = 3.14; double b = 3.14; int x = static_cast<int>(a); int y = (int)b; cout << x << endl << y << endl; return 0;}代码是将a强制类型转换成了 int型号, 然后赋值给了 x 比起 int x =原创 2017-10-26 08:22:13 · 820 阅读 · 0 评论 -
C++之构造函数初始化列表存在的必要性
大家都知道C++中初始化列表是 用来给数据成员赋初值的 但是 C++ 为什么大费周章的 做一个初始化列表功能? 构造函数完全能效劳啊,相信很多人 也有同样的疑问 其实 初始化列表必然有他存在的意义 下面举个例子class Circle{public: Circle(){Pi= 3.14} //编辑器报错,const不能被修改private: const doubl原创 2017-05-23 09:44:34 · 726 阅读 · 0 评论 -
C++ dll、lib 的定义以及引用,
最近在研究socket,发现socket程序要依赖ws2_32.dll,涉及到动态链接库,有点懵,上网恶补了一下链接库的知识,最后总结出这么一篇文章链接库分为两种:动态链接库(dll) 和静态链接库(lib) 动态链接库 : 动态链接库可以动态的被引用和卸载,可以多个模块调用一块库。 静态链接库:lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了,所以它的执行效率会比动态链接库原创 2023-01-30 11:32:34 · 1881 阅读 · 2 评论