自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2463)
  • 资源 (7)
  • 论坛 (2)
  • 收藏
  • 关注

原创 C++ 创建MFC扩展动态链接库

1 创建项目,选择C

2021-06-16 16:08:34 3

原创 C++ 创建共享MFC规则动态链接库

1.创建项目,选择C++ 库项目,MFC动态连接库,输入名称MFCLibrary012 选择静态连接到MFC的常规DLL3 创建对话框资源4 添加按钮消息处理函数void CRegularDLLDlg::OnBnClickedBtnShow(){ MessageBox("MFC规则DLL", "Regular DLL", MB_OK);}5 在MFCLibrary01.h 和MFCLibrary01.cpp中添加SHowDlg()方法extern "C".

2021-06-16 15:08:38 3

原创 C++ 创建静态MFC规则动态链接库

1.

2021-06-16 15:04:05 3

原创 C++ 通过创建动态链接库模板创建DLL(NON-MFC DLL)

1

2021-06-16 14:19:56 2

原创 C++ 读取写入文件

#include <iostream>#include <fstream>using namespace std;int main(){ ofstream out; out.open("1.txt", ios::out | ios::trunc); out << "Hello" << endl; out.close(); ifstream in; in.open("1.txt"); char data[100]; in >&.

2021-06-15 15:44:33 4

原创 C++ 接口(抽象类)

#include <iostream> using namespace std; // 基类class Shape {public: // 提供接口框架的纯虚函数 virtual int getArea() = 0; void setWidth(int w) { width = w; } void setHeight(int h) { height = h; }protected: int width.

2021-06-15 15:21:23 2

原创 C++ 结构作为函数参数

#include <iostream>#include <cstring> using namespace std;void printBook( struct Books book ); // 声明一个结构体类型 Books struct Books{ char title[50]; char author[50]; char subject[100]; int book_id;}; int main( ){ Boo.

2021-06-15 15:10:56 3

原创 C++ 引用 vs 指针

引用很容易与指针混淆,它们之间有三个主要的不同:不存在空引用。引用必须连接到一块合法的内存。 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。 引用必须在创建时被初始化。指针可以在任何时间被初始化。...

2021-06-15 14:57:51 3

原创 C++ 传递指针给函数

#include <iostream>#include <ctime>using namespace std;void getSeconds(unsigned long* par){ // 获取当前的秒数 *par = time(NULL); return;}int main(){ unsigned long tm; getSeconds(&tm); cout << "number of secondes:" <<tm...

2021-06-15 14:54:33 3

原创 C++指向指针的指针

#include <iostream> using namespace std; int main (){ int var; int *ptr; int **pptr; var = 3000; // 获取 var 的地址 ptr = &var; // 使用运算符 & 获取 ptr 的地址 pptr = &ptr; // 使用 pptr 获取值 cout &lt.

2021-06-15 14:43:59 3

原创 C++ 指针数组

#include <iostream>using namespace std;const int MAX = 3;int main(){ int var[MAX] = { 10,100,200 }; int* ptr[MAX]; for (size_t i = 0; i < MAX; i++) { ptr[i] = &var[i]; } for (size_t i = 0; i < MAX; i++) { cout << *p.

2021-06-15 14:42:16 3

原创 C++指针的算术运算

#include <iostream>using namespace std;const int MAX = 3;int main(){ int var[MAX] = { 10,100,200 }; int* ptr; ptr = var; int i = 0; while (ptr <= &var[MAX - 1]) { cout << "Address of var[" << i << "]=" ; cout .

2021-06-15 14:36:17 4

原创 C++ 用指针倒序遍历数组

#include <iostream>using namespace std;const int MAX = 3;int main(){ int var[MAX] = { 10,100,200 }; int* p = &var[MAX - 1]; for (size_t i = MAX; i > 0; i--) { cout << *p << endl; p--; }}

2021-06-15 14:29:33 4

原创 C enum的用法

#include <stdio.h> enum DAY{ MON=1, TUE, WED, THU, FRI, SAT, SUN}; int main(){ enum DAY day; day = WED; printf("%d",day); return 0;}

2021-06-05 08:58:31 13

原创 C 从函数返回数组

C 语言不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。int * myFunction(){...}

2021-06-05 08:55:40 16

原创 C 传递数组参数

方式 1形式参数是一个指针void myFunction(int *param){...}方式 2形式参数是一个已定义大小的数组:

2021-06-05 08:52:59 14

原创 C time.h

#include <stdio.h>#include <string.h>#include <time.h>int main(){ struct tm t; t.tm_sec = 10; t.tm_min = 10; t.tm_hour = 6; t.tm_mday = 25; t.tm_mon = 2; t.tm_year = 89; t.tm_wday = 6; p.

2021-06-05 08:47:26 12

原创 C string.h

#include <stdio.h>#include <string.h> int main (){ const char str[] = "http://www.runoob.com"; const char ch = '.'; char *ret; ret = (char*)memchr(str, ch, strlen(str)); printf("|%c| 之后的字符串是 - |%s|\n", ch, ret); ret.

2021-06-05 08:29:19 14

原创 C stdlib.h

#include <stdio.h>#include <stdlib.h>#include <string.h> int main(){ float val; char str[20]; strcpy(str, "98993489"); val = atof(str); printf("字符串值 = %s, 浮点值 = %f\n", str, val); strcpy(str, "runoob"); val.

2021-06-04 16:09:35 13

原创 C stdio.h

#include <stdio.h>int main(){ FILE *fp; fp = fopen("file.txt", "w"); fprintf(fp, "%s", "这里是 runoob.com"); fclose(fp); return(0);}

2021-06-04 15:32:15 13

原创 C stddef.h

下面是头文件 stddef.h 中定义的变量类型:序号 变量 & 描述 1 ptrdiff_t 这是有符号整数类型,它是两个指针相减的结果。 2 size_t 这是无符号整数类型,它是sizeof关键字的结果。 3 wchar_t 这是一个宽字符常量大小的整数类型。 库宏下面是头文件 stddef.h 中定义的宏:序号 宏 & 描述 1 NULL 这个宏是一个空指针常量的值。 2 off..

2021-06-04 13:57:52 14

原创 C stdarg.h

#include<stdarg.h>#include<stdio.h>int sum(int, ...);int main(void){ printf("10、20 和 30 的和 = %d\n", sum(3, 10, 20, 30) ); printf("4、20、25 和 30 的和 = %d\n", sum(4, 4, 20, 25, 30) ); return 0;}int sum(int num_args, ...){ .

2021-06-04 13:53:56 12

原创 C math.h

下面列出了头文件 math.h 中定义的函数:序号 函数 & 描述 1 double acos(double x) 返回以弧度表示的 x 的反余弦。 2 double asin(double x) 返回以弧度表示的 x 的反正弦。 3 double atan(double x) 返回以弧度表示的 x 的反正切。 4 double atan2(double y, double x) 返回以弧度表示的 y/x 的反正切。y 和 x

2021-06-04 13:47:48 12

原创 C locale.h

#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <time.h>#include <locale.h>int main(){ time_t currtime; struct tm* timer; char buffer[80]; time(&currtime); timer = localtime(&currtime); .

2021-06-04 13:43:44 11

原创 c limits.h

#include <stdio.h>#include <limits.h>int main(){ printf("The number of bits in a byte %d\n", CHAR_BIT); printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN); printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX).

2021-06-04 13:31:00 12

原创 c ctype.h

#include <stdio.h>#include <ctype.h>int main(){ int var1 = 'd'; int var2 = '2'; int var3 = '\t'; int var4 = ' '; if (isalnum(var1)) { printf("var1 = |%c| 是字母数字\n", var1); } else { printf.

2021-06-04 13:27:00 11

原创 C assert的使用

#include <stdio.h>#include <assert.h>int main(){ int i = 0; assert(i != 0);}

2021-06-04 11:24:30 11

原创 C++ 卷影复制服务信息,无法启动...问题解决办法

C++程序跑过程中,出现下面的系统日志命令行输入services.msc,找到Cryptographic services,并禁止自动启动,并停止该服务

2021-06-04 11:00:49 11

原创 C++ 串口通讯

#pragma onceclass CComHelper{private: HANDLE hCom;public: bool Open(); void Set(); DWORD Read(char str[], int length); bool Write(char* data, int length); bool Close();};#include "pch.h"#include "CComHelper.h"bool CComHelper::Open(){ .

2021-06-02 16:41:41 13

原创 C++ 文件压缩

//路径里不能有空格void CRARDlg::OnWinrar() { CString des,temp,path,rarpath; GetDlgItem(IDC_PATH)->GetWindowText(path); if(path.IsEmpty()) { MessageBox("请输入文件名字"); return ; } rarpath.Format("%s.rar",path.Left(path.ReverseFind('.'))); t..

2021-05-24 06:25:04 19

原创 C++ 设置文件隐藏属性

void CSetHiddenDlg::OnSet() { CString path; m_path.GetWindowText(path); CFileStatus status; CFile::GetStatus(path,status); //获取原属性 status.m_attribute |= 0x02; //追加隐藏属性 CFile::SetStatus(path,status); //设置新属性 }

2021-05-24 06:24:47 22

原创 C++ 获取文件的属性

void CFileStatusDlg::OnOpenFile() { m_hidden.SetCheck(0); m_readonly.SetCheck(0); m_archive.SetCheck(0); m_normal.SetCheck(0); m_system.SetCheck(0); m_filedir.SetCheck(0); CFileDialog log(TRUE,"文件","*.*",OFN_HIDEREADONLY,"FILE(*.*)|*.*||",NULL); .

2021-05-24 06:24:33 13

原创 C++ 获取当前路径

void CGetCurrentDirectoryDlg::OnGet() { char buf[256]=""; DWORD dw; dw = GetCurrentDirectory(sizeof(buf),buf); if(dw == 0) { MessageBox("获取路径失败"); return; } else m_path.SetWindowText(buf);}

2021-05-24 06:24:21 12

原创 C++ c函数sprintf将不同类型的数组组成字符串

char str[100]; char* p = "辛丑"; char* t = "子"; int mon = 1; int day = 1; sprintf(str, "%s 年 %d 月 %d 日 %s时", p, mon, day, t);

2021-05-24 06:24:09 12

原创 C++ CFile类是以二进制形式读写文件

void CReadWriteDlg::OnRead() { CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, "All Files(*.TXT)|*.TXT||",AfxGetMainWnd()); //构造"文件打开"对话框 CString strPath,strText=""; //声明变量 if (dlg.DoModal() == IDOK) //判断是否按下"打开"按钮 .

2021-05-24 06:23:53 23 1

原创 C++ C函数 判断文件是否存在

void CIsExistDlg::OnJudge() { CString path, name, pathName; m_path.GetWindowText(path); //获取路径 m_fileName.GetWindowText(name); //获取文件名 if(path.Right(1)!='\\') { pathName.Format("%s\\%s",path,name); } else { pathName.Format("%s%s",path,name);.

2021-05-24 06:23:41 8

原创 C++ 指定目录查找文件

void CFindFileDlg::OnAdd() { BROWSEINFO bi; //定义BROWSEINFO结构体 char buffer[MAX_PATH]; ZeroMemory(buffer,MAX_PATH); bi.hwndOwner=GetSafeHwnd(); bi.pidlRoot=NULL; bi.pszDisplayName=buffer; bi.lpszTitle="选择一个文件夹"; bi.ulFlags=.

2021-05-24 06:23:13 8

原创 C++ 列举文件夹下的所有文件

oid CEnumFileDlg::OnEnum() { BROWSEINFO bi; char buffer[MAX_PATH]; ZeroMemory(buffer,MAX_PATH); bi.hwndOwner=GetSafeHwnd(); bi.pidlRoot=NULL; bi.pszDisplayName=buffer; bi.lpszTitle="选择一个文件夹"; bi.ulFlags=BIF_EDITBOX; bi.lp.

2021-05-24 06:22:58 8

原创 C++ 删除文件

void CDeleteMFileDlg::OnDelete() { int count=m_filelist.GetItemCount(); for(int i=0;i<count;i++) { ::DeleteFile(m_filelist.GetItemText(i,0)); } AfxMessageBox("删除成功"); m_filelist.DeleteAllItems();}

2021-05-24 06:22:32 23

原创 C++ 移动文件

void CMoveFIleDlg::OnMove() { BROWSEINFO bi; char buffer[MAX_PATH]; ZeroMemory(buffer,MAX_PATH); bi.hwndOwner=GetSafeHwnd(); bi.pidlRoot=NULL; bi.pszDisplayName=buffer; bi.lpszTitle="选择一个文件夹"; bi.ulFlags=BIF_EDITBOX; bi...

2021-05-23 18:41:34 15

SQL SERVER 2008带Key

绝对好用的SQL SERVER 2008

2017-05-19

ASP.NET 3.5动态网站开发基础教程源文件

ASP.NET 3.5动态网站开发基础教程源文件

2014-01-23

ASP.NET 3.5动态网站开发基础教程PPT

ASP.NET 3.5动态网站开发基础教程PPT

2014-01-23

ASP.NET MVC 5高级编程 第5版(中文版带书签)

第1章入门 1.1ASP.NETMVC简介 1.1.1ASP.NETMVC如何适应ASP.NET 1.1.2MVC模式简介 1.1.3MVC在Web框架中的应用 1.1.4ASP.NETMVC5的发展历程 1.1.5ASP.NETMVC4概述 1.1.6开源发布 1.2ASP.NETMVC5概述 1.2.1OneASP.NET 1.2.2新的Web项目体验 1.2.3ASP.NETIdentity 1.2.4Bootstrap模板 1.2.5特性路由 1.2.6ASP.NET基架 1.2.7身份验证过滤器 1.2.8过滤器重写 1.3安装MVC5和创建应用程序 1.3.1ASP.NETMVC5的软件需求 1.3.2安装ASP.NETMVC5 1.3.3创建ASP.NETMVC5应用程序 1.3.4NewASP.NETProject对话框 1.4ASP.NETMVC应用程序的结构 1.4.1ASP.NETMVC和约定 1.4.2约定优于配置 1.4.3约定简化通信 1.5小结 第2章控制器 2.1控制器的角色 2.2示例应用程序:MVCMusicStore 2.3控制器基础 2.3.1简单示例:HomeController 2.3.2创建 第一个控制器 2.3.3控制器操作中的参数 2.4小结 第3章视图 3.1视图的作用 3.2视图的基础知识 3.3理解视图约定 3.4强类型视图 3.4.1ViewBag的不足 3.4.2理解ViewBag、ViewData和ViewDataDictionary 3.5视图模型 3.6添加视图 3.7Razor视图引擎 3.7.1Razor的概念 3.7.2代码表达式 3.7.3HTML编码 3.7.4代码块 3.7.5Razor语法示例 3.7.6布局 3.7.7ViewStart 3.8指定部分视图 3.9小结 第4章模型 4.1为MVCMusicStore建模 4.2为商店管理器构造基架 4.2.1基架的含义 4.2.2基架和实体框架 4.2.3执行基架模板 4.2.4执行基架代码 4.3编辑专辑 4.3.1创建编辑专辑的资源 4.3.2响应编辑时的POST请求 4.4模型绑定 4.4.1DefaultModelBinder 4.4.2显式模型绑定 4.5小结 第5章表单和HTML辅助方法 5.1表单的使用 5.1.1action和method特性 5.1.2GET方法还是POST方法 5.2HTML辅助方法 5.2.1自动编码 5.2.2辅助方法的使用 5.2.3HTML辅助方法的工作原理 5.2.4设置专辑编辑表单 5.2.5添加输入元素 5.2.6辅助方法、模型和视图数据 5.2.7强类型辅助方法 5.2.8辅助方法和模型元数据 5.2.9模板辅助方法 5.2.10辅助方法和ModelState 5.3其他输入辅助方法 5.3.1Html.Hidden 5.3.2Html.Password 5.3.3Html.RadioButton 5.3.4Html.CheckBox 5.4渲染辅助方法 5.4.1Html.ActionLink和Html.RouteLink 5.4.2URL辅助方法 5.4.3Html.Partial和Html.RenderPartial 5.4.4Html.Action和Html.RenderAction 5.5小结 第6章数据注解和验证 6.1为验证注解订单 6.1.1验证注解的使用 6.1.2自定义错误提示消息及其本地化 6.1.3注解的后台原理 6.1.4控制器操作和验证错误 6.2自定义验证逻辑 6.2.1自定义注解 6.2.2IValidatableObject 6.3显示和编辑注解 6.3.1Display 6.3.2ScaffoldColumn 6.3.3DisplayFormat 6.3.4ReadOnly 6.3.5DataType 6.3.6UIHint 6.3.7HiddenInput 6.4小结 第7章成员资格、授权和安全性 7.1安全性:无趣、但极其重要 7.2使用Authorize特性登录 7.2.1保护控制器操作 7.2.2Authorize特性在表单身份验证和AccountController控制器中的用法 7.2.3WindowsAuthentication 7.3要求角色成员使用Authorize特性 7.4扩展用户身份 7.4.1存储额外的用户资料数据 7.4.2持久化控制 7.4.3管理用户和角色 7.5通过OAuth和OpenID的外部登录 7.5.1注册外部登录提供器 7.5.2配置OpenID提供器 7.5.3配置OAuth提供器 7.5.4外部登录的安全性 7.6Web应用程序中的安全向量 7.6.1威胁:跨站脚本 7.6.2威胁:跨站请求伪造 7.6.3威胁:cookie盗窃 7.6.4威胁:重复提交 7.6.5威胁:开放重定向 7.7适当的错误报告和堆栈跟踪 7.7.1使用配置转换 7.7.2在生产环境中使用Retail部署配置 7.7.3使用专门的错误日志系统 7.8安全回顾和有用资源 7.9小结 第8章Ajax 第9章路由 第10章NuGet 第11章ASP.NETWebAPI 第12章应用AngularJS构建单页面应用程序 第13章依赖注入 第14章单元测试 第15章扩展ASP.NETMVC 第16章高级主题 第17章ASP.NETMVC实战:构建NuGet.org网站 17.11小结 附录AASP.NETMVC5.1

2018-07-09

21天学通C#所有源代码

21天学通C#源代码

2014-01-23

21天学通C#

21天学通C#

2014-01-23

Android 4高级编程(第3版)(完整书签).zip

Android 4高级编程第三版 带有完整书签,高清,很好用哦

2019-06-14

dxm809的留言板

发表于 2020-01-02 最后回复 2020-01-02

准备学C#

发表于 2013-03-31 最后回复 2014-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除