![](https://img-blog.csdnimg.cn/20210627123454726.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
编程之旅
有编程实例;有笔者起初学习编程到目前乃至到未来所遇到的问题总结。无它,主要是为了给自己长个记性。把它分享出去也希望给初学者一个好意的提醒。
T h a t
这个作者很懒,什么都没留下…
展开
-
引用类型变量的大小
int i = 10;int& b = i;你直接去sizeof(b)得到的是int的大小,也就是你引用的数据类型。但其实在内存中引用数据类型是不占空间的。只占一个指针大小。引用的底层可以用指针实现。引用只是C++语言的一个概念而已,而真正怎么去实现是编译器解决的。大多数是通过指针解决。只要先了解引用类型实际占用的内存只有一个指针大小即可。...原创 2021-09-09 17:23:04 · 637 阅读 · 0 评论 -
MFC动态创建组件代码
int ini_line = 0; char ini_info[50][100]; CEdit* static_lable = new CEdit; static_lable->Create(WS_VISIBLE, CRect(0,0,120,20), this,1); static_lable->SetWindowTextA("CVSLearn-Info"); memset(ini_info,0x00,5000);原创 2021-09-02 19:10:35 · 297 阅读 · 0 评论 -
MFC实现默认滚动条
添加以下代码在Oninitdlg()函数里 SCROLLINFO scrollinfo; GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); scrollinfo.nPage=10; //设置滑块大小 scrollinfo.nMax=100; //设置滚动条的最大位置0–100 SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);添加以下函数...原创 2021-09-02 19:05:40 · 265 阅读 · 0 评论 -
解决MFC按回车键闪退问题
在Dlg类内添加俩个函数CCVSLearn_EXEDlg::OnOK();// 不用实现,空函数即可BOOL CCVSLearn_EXEDlg::PreTranslateMessage(MSG* pMsg);//亦不用实现,空函数即可原创 2021-09-02 18:47:50 · 283 阅读 · 0 评论 -
MFC主对话框程序只能运行一次
写在App类的Initinstance()函数里HANDLE hMutex = ::CreateMutex(NULL,FALSE,"Small Tool");if (GetLastError() == ERROR_ALREADY_EXISTS){ MessageBoxA(0,"Running...","Error",0); return FALSE;}else{}原创 2021-09-02 18:43:20 · 256 阅读 · 0 评论 -
控制exe文件只能执行一次
源函数int CCVSLearn_EXEDlg::GetProcessCount(const TCHAR* szExeName){ TCHAR sztarget[MAX_PATH]; lstrcpy(sztarget, szExeName); CharLowerBuff(sztarget, MAX_PATH); int count = 0; PROCESSENTRY32 my; HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROC原创 2021-09-02 18:36:17 · 551 阅读 · 0 评论 -
C++父类子类指针问题
天空之城 Excel 问题C++父类子类指针参数问题原创 2021-09-01 10:44:55 · 123 阅读 · 0 评论 -
动态库文件-demo-21/8/28
DLL.h#pragma once#include <iostream>#include <time.h>#ifdef DLL_DLL#define DLLAPI __declspec(dllexport)#else // !DLLEXPOERS#define DLLAPI __declspec(dllimport)#endif // DLLEXPORTS#ifndef UINT#define UINT unsigned int#endif // !U原创 2021-08-28 15:52:09 · 123 阅读 · 0 评论 -
MFC按钮编程实例
MFC Cbutton Prog发表之前更换了对话框的图片。更换对话框背景图片单独跑该程序也行。App.h// CVSLearn_wub.h : PROJECT_NAME 应用程序的主头文件//#pragma once#ifndef __AFXWIN_H__ #error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"#endif#include "resource.h" // 主符号// CCVSLearn_wubApp:// 有关此类的实现,请原创 2021-08-27 13:54:53 · 303 阅读 · 0 评论 -
MFC更换对话框背景图片
添加位图资源bitmap 所以其扩展名为 .bmp而且不能是24位,最好是256色替换代码Onpaint()函数的else语句替换一下代码//CDialog::OnPaint();//要禁止这个调用 CPaintDC dc(this); CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&a原创 2021-08-27 13:38:36 · 681 阅读 · 0 评论 -
MFC的.rc文件提示在另一个编辑器中打开
遇到的问题如题解决方法:这是由于打开了Resource.h导致的,关闭即可。原创 2021-08-26 16:14:49 · 1333 阅读 · 0 评论 -
MFC_Button_Prog_Day-21/8/26
// CVSLearn_wubDlg.h : 头文件//#pragma once// CCVSLearn_wubDlg 对话框class CCVSLearn_wubDlg : public CDialogEx{ // 构造public: CCVSLearn_wubDlg(CWnd* pParent = NULL); // 标准构造函数 // 对话框数据 enum { IDD = IDD_CVSLEARN_WUB_DIALOG }; CButton m_button[12];原创 2021-08-26 16:04:03 · 194 阅读 · 0 评论 -
C/C++编码の注意事项-Neusoft
注意事项No.1#define NUM 10#define NUM 20 //此时NUM为20No.2No.3No.4No.5No.6No.7No.8NO.9No.10No.11原创 2021-08-24 16:42:53 · 82 阅读 · 0 评论 -
代码规约-Day-21/8/24
数组进行数组间的复制时,需要使用memset_s()函数保证数组的边界安全。memset_s(a,min(sizeof(a),sizeof(b)),b,min(sizeof(a),sizeof(b)));使用边界安全sprintf_s进行字符串格式化处理,不要使用sprintf。sprintf_s(str,256,"%d",x); //多一个buffer使用str***函数(strlen,strcmp,strcat等)时,要确保操作的字符串有结束符’\0’.避免发生内存访问越界问题。进行字原创 2021-08-24 16:04:39 · 110 阅读 · 0 评论 -
C++的内存管理(Debug和Release模式)
程序内存区域划分内核空间栈内存映射段堆数据段代码段内核空间用户编写的代码无法读取到的内存区域栈(地址顺序向下增长)栈里存放局部变量内存映射段(文件映射,动态库,匿名映射)堆堆里存放New malloc申请到的内存数据段全局数据、静态数据代码段可执行代码 、 只读常量例1#include <iostream>using namespace std;int a = 10;int b; //也可不初始化,但最好初始化int ma原创 2021-08-24 13:23:14 · 622 阅读 · 0 评论 -
BeforeWork In Neusoft
Day 2021.07.20 - 08.31初识东软Day 2021.09.01 -嘿嘿嘿原创 2021-08-19 20:37:36 · 50 阅读 · 0 评论 -
动态链接和(静态)链接->LIB和DLL
关于lib和dll的区别如下lib是编译时用到的,dll是运行时用到的。如果要完成源代码的编译,只需要lib;如果要使动态链接的程序运行起来,只需要dll。如果有dll文件,那么lib一般是一些索引信息,记录了dll中函数的入口和位置,dll中是函数的具体内容;如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。使用静态编译的lib文件,在运行程序时不需要再挂动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性,发布新版本时要发布新的应用程序才行。动态链接的情况下,有两原创 2021-08-19 20:00:54 · 195 阅读 · 0 评论 -
FuncType + WINAPI + FuncName及函数调用方式介绍
int WINAPI WINMain 中,WINAPI含义 在windef.h头文件中有如下定义 #define WINAPI __stdcall #define APIENTRY WINAPI VC有两种函数调用方式一种是 __stdcall一种是 __cdecl函数的调用方式有两种一种是PASCAL调用方式,另一种是C调用方式使用PASCAL调用方式,函数在返回到调用者之前将参数从栈中删除使用C调用方式,参数的删除是调用者完成的WinMain函数是由系统调用的,W原创 2021-08-18 17:11:40 · 380 阅读 · 0 评论 -
加密解密函数模板 &&强口令自动生成(带记录)
#include #include #include <time.h>#include <windows.h>#define LOG “C:\Users\wu-b_neu\Documents\Visual Studio 2008\Projects\pwd_info\pwd_info\LOG.txt”namespace Myspace{using std::cout;using std::cin;using std::string;using std::endl;原创 2021-08-15 15:05:29 · 469 阅读 · 0 评论 -
C++的文件IO操作程序
//file_io.h#include <iostream>#include <fstream>#include <string>#define __QUARY_PATH__ "C:\\Users\\wu-b_neu\\Documents\\Visual Studio 2008\\Projects\\Test\\Test\\file_path.txt"namespace NS_file_io{ using std::string; string _ge原创 2021-08-06 13:58:27 · 171 阅读 · 0 评论 -
alpha_Day_21.8.6_FILE_IO
//file_io.h#include #include #include #define QUARY_PATH “C:\Users\wu-b_neu\Documents\Visual Studio 2008\Projects\Test\Test\file_path.txt”//C:\Users\wu-b_neu\Documents\Visual Studio 2008\Projects\Test\Test\file_path.txtnamespace NS_file_io{using st原创 2021-08-06 11:19:47 · 54 阅读 · 0 评论 -
Day_21.8.6_FILE_IO
//file_io.h#include #include #include #define QUARY_PATH “C:\Users\wu-b_neu\Documents\Visual Studio 2008\Projects\Test\Test\file_path.txt”//C:\Users\wu-b_neu\Documents\Visual Studio 2008\Projects\Test\Test\file_path.txtnamespace NS_file_io{using st原创 2021-08-06 10:11:54 · 48 阅读 · 0 评论 -
beta_Day_21.8.6_FILE_IO
//file_io.h#include #include #include #define QUARY_PATH “C:\Users\wu-b_neu\Documents\Visual Studio 2008\Projects\Test\Test\file_path.txt”namespace NS_file_io{using std::string;string _get_goal_file_path(){ FILE* _fp_quary_path = fopen(__QUARY_PA原创 2021-08-06 09:11:08 · 87 阅读 · 0 评论 -
围圈淘汰逃离死亡问题 && 双向循环链表
问题:N个人一二三报数,报三的出去,余下重新报代码#include <iostream>#define list_length 41#define N 3namespace Myspace{ using std::cout; using std::endl; typedef struct node { int num; node* next; node* front; }node; node* InitList(int root_num原创 2021-07-29 19:12:38 · 76 阅读 · 0 评论 -
递归输出螺旋矩阵 && 函数递归 && 多层循环
#include <iostream>#include <iomanip>#define ROW 6 #define COL 23 //定义长方形的长和宽#define N 9 //定义正方形的边长using namespace std;int Array_N[N][N];int Array_RC[ROW][COL]; //事先定义好各自的矩阵bool IS_TWO(int); //判断奇偶性函数int SetArray(int,.原创 2021-07-29 19:07:40 · 101 阅读 · 0 评论 -
编程学习(持续更新)
编程学习遇到的坑课设:if(a == 1) 落下一个等号 写出 if(a = 1) 导致程序不能正确执行 排查好久解决:可写为if(1 == a) 让编译器去帮你检查 因为if(1 = a)会报错原创 2021-06-27 12:58:28 · 98 阅读 · 0 评论 -
ODBC连接Sql Server和VS2019的图书管理系统
#1.说##1.1萨达原创 2021-06-03 20:02:09 · 2140 阅读 · 3 评论 -
射击小游戏
利用vs 2019和easyx图形库完成射击小游戏需要的工具:win 10vs 2019easyx#include<stdio.h>#include<math.h>#include<graphics.h>//easyx#define WIDTH 960#define HEIGHT 640#define BULL_NUM 20 //子弹数量struct Battery//炮台结构{ int x; int y; int endx; int en原创 2021-04-19 19:27:58 · 714 阅读 · 1 评论 -
简易绘图工具
利用vs 2019和easyx图形库完成简易绘图工具(雏形)需要的工具:win 10vs 2019easyx#include <graphics.h>struct Point{ int x; int y;};struct LineTool{ int size; //大小 COLORREF color; //颜色 struct Point beginPos; //线的起点 bool isDown; //两个鼠标操作判断开发};str原创 2021-04-19 19:23:23 · 431 阅读 · 2 评论 -
贪吃蛇小游戏
利用vs 2019和easyx图形库完成贪吃蛇小游戏需要的工具:win 10vs 2019easyx#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<time.h>#include<graphics.h>#define MAX 100HWND hwnd = NULL;int cas = 1;int cnt = 1;int Speed = 100原创 2021-04-19 15:16:51 · 123 阅读 · 1 评论 -
QQ游戏连连看的脚本
利用vs 2019和easyx图形库完成QQ游戏连连看的脚本需要的工具:win 10vs 2019easyx#include <stdio.h>#include <easyx.h>#define ROW 11#define COL 19HWND qqHwnd = NULL;IMAGE image(800, 600);HDC qqHdc, imgHdc;IMAGE img[ROW][COL];RECT rect;void ClearImage(IMAG原创 2021-04-19 15:04:49 · 1465 阅读 · 3 评论 -
ODBC连接Sql Server和VS2019的图书管理系统
应用工具:ODBC数据源、Sql Server、VS2019关于ODBC的配置和介绍不再赘述,网上教程很多。好! 直接上源代码。连接.h#pragma once#include<stdio.h>#include<windows.h>#include<sql.h>#include<sqlext.h>#include<sqltypes.h>#include<string.h>char Account[50], Pass原创 2021-06-27 11:54:38 · 411 阅读 · 0 评论 -
扫雷小游戏
利用vs 2019和easyx图形库完成五子棋小游戏需要的工具:win 10vs 2019easyxC++源码:#include<iostream>#include<graphics.h>#include<time.h>using namespace std;int map[15][15];int Temp_map[15][15];int Boom_x[15];int Boom_y[15];int Boomnum = 15;IMAGE原创 2021-04-17 20:11:25 · 332 阅读 · 8 评论 -
推箱子小游戏
利用vs 2019和easyx图形库完成推箱子小游戏需要的工具:win 10vs 2019easyx#include<graphics.h>#include<iostream>#include<conio.h>#include<iomanip>#include<windows.h>#define Interval 100using namespace std;int map[3][8][8] ={{ {0,0,1,1原创 2021-04-19 15:06:48 · 217 阅读 · 4 评论 -
五子棋小游戏
利用vs 2019和easyx图形库完成五子棋小游戏需要的工具:win 10vs 2019easyxC++源码:#include<iostream>#include<graphics.h>using namespace std;int map[16][16];int num = 1; int flag = 256;void Initgame(){ IMAGE image; loadimage(&image, "back.jpg", 750,原创 2021-04-16 23:27:23 · 478 阅读 · 5 评论