
C++
yang1994
111
展开
-
VS2013无法使用Nuget的解决方法
问题描述:Nuget官方网站已经不支持http访问, 只支持https,但是VS2013访问https默认使用的协议为Tls1.1,但是Nuget官方网站只支持Tls1.2。要解决这个问题,那就需要让vs2013以Tls1.3访问Nuget的官网,具体解决办法为在程序包管理控制台运行如下命令:方法:[Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol-bOR [Net.Securi原创 2022-01-19 15:53:41 · 1602 阅读 · 0 评论 -
windows cmd批处理终端 快速编辑模式
手动设置法windows cmd->右键->属性->选项->编辑选项或单击左上角图标->属性->选项->编辑选项取消 快速编辑模式但是我将cmd设置之后,cmd是禁用了,但运行一个exe终端,发现它还是启动快速编辑模式所以每个新exe都需手动设置。修改程序法windows bat法一头部输入以禁用@echo offreg add HKEY_CURRENT_USER\Console /v QuickEdit /t REG_DWORD /d 00原创 2021-04-20 16:51:52 · 2421 阅读 · 0 评论 -
TCP Server处理多Client请求的方法—非阻塞accept与select
参看基于TCP/UDP的socket代码,同一时间Server只能处理一个Client请求:在使用当前连接的socket和client进行交互的时候,不能够accept新的连接请求。为了使Server能够处理多个Client请求,常见的方法:多进程/线程方法、non-blocking socket(单进程并发)、non-blocking和select结合使用。三种方法各有优缺点,下面进行详细分析和说明。一、多进程/线程方法这种方法,每个子进程/线程单独处理一个client连接。以使用进程为例,在每个a原创 2021-04-15 10:37:04 · 4118 阅读 · 2 评论 -
C/C++网络编程在windows和linux中将socket设置为阻塞和非阻塞
在 socket编程中,对于socket的读写默认都是阻塞的,但有的情况我们需要将其设置为非阻塞,比如做多路复用,或者通过select实现连接超时等功能,将socket设置为非阻塞,在windows和linux中的接口有所不同,在windows中使用ioctlsocket函数,在linux中使用 fcntl函数,下面我们做一个跨平台设置阻塞的函数SetBlock。bool SetBlock(int sock,bool isblock){ int re = 0;//通过宏区分windows和linux原创 2021-04-14 16:56:30 · 2180 阅读 · 0 评论 -
C++二进制转换
#include <iostream>#include <list>#include <bitset>#include <iomanip> using namespace std; //递归输出二进制函数void BinaryRecursion(int n){ int a; a = n % 2; // 取余 n = n >> 1; //右移一位 相当于除以2 if(0 != n) { BinaryRecursion原创 2021-02-04 13:32:56 · 6825 阅读 · 0 评论 -
概说概要设计怎么做
作者:卢琳生摘要: 本文是在概要设计实践和学习中的一些心得与学习笔记,希望与大家分享,如有不妥之处欢迎指正。 关键字: 概要设计,结构化,OOD正文: 在需求明确、准备开始编码之前,要做概要设计,而详细设计可能大部分公司没有做,有做的也大部分是和编码同步进行,或者在编码之后。因此转载 2012-04-05 16:30:09 · 481 阅读 · 0 评论 -
UML UseCase jasonleakey
用例图 主要用来图示化系统的主事件流程,它主要用来 描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来 创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和 功能反映给非技术人员(通常是软件的用户),对应的是软件的转载 2012-07-19 17:18:32 · 545 阅读 · 0 评论 -
UML中关联、依赖、聚集等关系的异同
1. 关联:连接模型元素及链接实例,用一条实线来表示;2. 依赖:表示一个元素以某种方式依赖于另一个元素,用一条虚线加箭头来表示;3. 聚集:表示整体与部分的关系,用一条实线加空心菱形来表示;4. 组成:表示整体与部分的有一关系,用一条实线加实心菱形来表示; (关联,依赖,聚集,组成的异同见后描述)5. 泛化(继承):表示一般与特殊的关系,用一转载 2012-07-19 11:13:22 · 895 阅读 · 1 评论 -
C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组
fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。ifstream -- 从已有的文件读ofstream -- 向文件写内容fstream - 打开文件供读写文件打开模式:ios::in 读ios::out 写ios::app 从文件末尾开始写ios::转载 2012-06-07 15:04:09 · 870 阅读 · 0 评论 -
Error C2662, cannot convert ‘this’ pointer from ‘const class ’ to ‘class &’的解决办法
来源:http://www.cnblogs.com/clever101 下面的一段代码:#include "stdafx.h"#include class Point3d { public: Point3d(float x=0.0,float y=0.0,float z=0.0) :_x(x),_转载 2012-03-21 15:27:11 · 2810 阅读 · 0 评论 -
用PostMessage或SendMessage发送结构体指针
SendMessage可以随意发送结构体指针。PostMessage则必须注意结构体的生命周期。例如如下发送代码,使用PostMessage: struct _tag_aa { CString s1; char szBuffer[512]; int a; char* sz转载 2012-03-15 14:11:40 · 2426 阅读 · 0 评论 -
Windows的定时函数SetTimer()
SetTimer这个API函数的原型UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElapse, // 时间间隔,单位为毫秒 TIMERPROC lpTimerFunc转载 2012-03-14 10:00:52 · 758 阅读 · 0 评论 -
Windows Mobile 上常见的 DirectShow 链接错误
最近在Mobile上搞directshow 的时候碰到了千奇百怪的链接错误,在这里记录一下。第一步最简单的错误。 这个错误类似于如下的error messsage:1>media.obj : error LNK2001: unresolved external symbol IID_IVideoWindow1>media.obj : error LNK2001: unr转载 2012-03-27 17:40:45 · 756 阅读 · 0 评论 -
UML活动图介绍(Activity Diagram)
一、活动图的组成元素 Activity Diagram Element1、活动状态图(Activity)2、动作状态(Actions)3、动作状态约束(Action Constraints)4、动作流(Control Flow)5、开始节点(Initial Node)6、终止节点(Final Node)7、对象(Objects)8、数转载 2012-07-20 17:41:57 · 1309 阅读 · 0 评论 -
UseCase用例怎么画?UML用例UseCase的几个理解误区
UseCase用例是什么?看一下官方定义:用例定义了一组用例示例,其中每个示例都是系统所执行的一系列操作。看个UML的用例图: 其他的内容大家都可以网上去找资料,关于use case的内容,我这里只想说一下use case的几个理解上的误区: 误区1:用例就是功能点 这是一个很大的误区,也是技术人员容易犯的一个错误。功能点是站在软件开发的角度来说的,而用例是站转载 2012-07-19 17:11:21 · 770 阅读 · 0 评论 -
概要设计与详细设计的区别
概要设计与详细设计的区别 概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。 详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。 概要设计阶段通常得到转载 2012-04-05 16:30:43 · 506 阅读 · 0 评论 -
Windows环境下使用VS2010编译OpenSSL
Windows环境下使用VS2010编译OpenSSL准备工作设置环境变量编译准备工作1、安装VC++ 2010。2、需要perl的支持,下载最新ActivePerl并安装,网址:http://www.activestate.com/3、下载 Openssl并解压,下载网址:https://www.openssl.org/source/(1.0.2版本)4、下载nasm汇编器 网址:ht...原创 2018-11-16 13:53:42 · 266 阅读 · 0 评论 -
fseek的使用
fseek 函数名: fseek 功 能: 重定位流上的文件指针 用 法: int fseek(FILE *stream, long offset, int fromwhere); 描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变转载 2012-10-15 15:40:53 · 1629 阅读 · 0 评论 -
fopen与读写的标识r,r+,rb+,rt+,w+.....
r 打开只读文件,该文件必须存在。 r+ 打开可读写的文件,该文件必须存在。 rb+ 读写打开一个二进制文件,只允许读写数据。 rt+ 读写打开一个文本文件,允许读和写。 w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则转载 2012-10-15 15:46:53 · 3424 阅读 · 0 评论 -
C语言-设计模式
设计模式的书相信很多人都看过。对于设计模式这样一种方法,相信不同的人有不同的理解。 C语言和设计模式(开篇)关于软件设计方面的书很多,比如《重构》,比如《设计模式》。至于软件开发方式,那就更多了,什么极限编程、精益方法、敏捷方法。随着时间的推移,很多的方法又会被重新提出来。其实,就我个人看来,不管什么方法都离不开人。一个人写不出二叉树,你怎么让他写?敏捷吗?你写一行,我转载 2012-10-07 17:24:25 · 1939 阅读 · 0 评论 -
C++箴言:理解typename的两个含义2
记住这个,再看看 print2nd 的开头:template void print2nd(const C& container) { if (container.size() >= 2) { C::const_iterator iter(container.begin()); // this name is assumed to ... // not be a t转载 2012-08-27 11:01:38 · 611 阅读 · 0 评论 -
C++箴言:理解typename的两个含义1
templateclassT>class Widget;// uses "class" templatetypenameT>class Widget;// uses "typename"答案:没什么不同。在声明一个 template type parameter(模板类型参数)的时候,class 和 typename 意味着完全相同的东西。一些程序员更喜欢在所有的时间都用转载 2012-08-27 10:55:44 · 535 阅读 · 0 评论 -
a和&a有什么区别
请写出以下代码的打印结果,主要目的是考察a和&a的区别。 #include void main( void ) { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); return; }输出结果:2,5。 *(a+1)其实很简单就是指a[1],输出为转载 2012-08-30 09:42:06 · 7842 阅读 · 0 评论 -
C++文件操作 判断文件是否存在和文件大小
在使用C++进行系统开发时,经常用到对文件进行操作的方法,比如判断文件是否存在、获得文件的大小和创建时间等等。下面是我写的一个关于文件操作的类,里面不含有文件读写操作,只含有文件的外围操作。如果读者需要添加文件的读写操作,可以在类里面添加方法,使用文件流操作fstream进行读写。 编译和运行环境是在VC++6.0,File.h如下: #ifndef _FILE_H转载 2012-07-26 12:16:49 · 872 阅读 · 0 评论 -
/ctlutil.h(278) : error C4430: missing type specifier - int assumed.
BaseClasses/ctlutil.h(278) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int错误发生在:operator=(LONG); 函数定义中,这是因为在VC6中,如果没有显示的指定返回值类型,编译器将其视为默认整型;但是vs2005不支持默转载 2012-03-27 16:45:59 · 1257 阅读 · 0 评论 -
无法找到libci.lib
今天下了一个dx8写的demo,但是编译后出现fatal error LNK1104:无法打开文件:libci.lib"的错误。于是google了下,发现有不少的帖子。但是最后还是按照http://jansenspaces.spaces.live.com/blog/cns!97822E883688DD6A!179.entry的帖子进行了修改,其实就是在选择工程的属性,在linker选项卡中选择C转载 2012-03-27 15:38:11 · 1720 阅读 · 0 评论 -
Type Casting
Type CastingPublished by Juan SoulieLast update on Jun 8, 2007 at 9:46am UTC Converting an expression of a given type into another type is known as type-casting. We have already seen some转载 2010-04-30 13:57:00 · 683 阅读 · 0 评论 -
c语言 printf()输出格式控制
c语言 printf()输出格式控制www.firnow.com 时间 : 2009-08-30 作者:匿名 编辑:小张 点击: 4473 [ 评论 ]--Printf()输出格式控制 [学习笔记--Printf()输出格式控制]hzh-fa 发表于 2006-8-12 12:26:00 1.转换说明符 %a(%A) 浮点数、十六进制数字和p-(P-)记数法转载 2010-04-29 10:33:00 · 890 阅读 · 0 评论 -
C中的可变参数研究
C中的可变参数研究一. 何谓可变参数int printf( const char* format, ...); 这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和可变参数(用”…”表示). 而我们又可以用各种方式来调用printf,如:printf( "%d ",value); printf( "%s ",str); pr转载 2010-04-24 14:25:00 · 370 阅读 · 0 评论 -
C++堆栈详解
C++堆栈祥解一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区转载 2010-04-19 18:05:00 · 691 阅读 · 0 评论 -
《转》深入理解C++中的mutable关键字
深入理解C++中的mutable关键字 收藏 mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是转载 2010-04-19 18:00:00 · 437 阅读 · 0 评论 -
查看内存C++
void CMemStateDlg::OnButton1() {MEMORYSTATUS memStatus; CString str; memStatus.dwLength=sizeof(MEMORYSTATUS); ::GlobalMemoryStatus(&memStatus);m_CtrProgress.SetRange(0, (int)memStatus.dwTotalPhys/转载 2008-06-19 22:34:00 · 905 阅读 · 0 评论 -
获得可用空间c++
INFO: Understanding and Using GetDiskFreeSpace and GetDiskFreeSpaceEx ID: Q231497 --------------------------------------------------------------------------------转载 2008-06-19 22:46:00 · 799 阅读 · 0 评论 -
c++ list用法
#include iostream> #include list> #include numeric> #include algorithm> using namespace std; //创建一个list容器的实例LISTINT typedef listint> LISTINT; //创建一个list容器的实例LISTCHAR typedef listint原创 2008-06-19 22:23:00 · 2627 阅读 · 0 评论 -
MFC中滚动条的实现
1、 建立工程时,将 View 类继承自 CScrollView 2、 在 OnInitialUpdate 中添加初始化时 Scroll 的相关属性值 CSize sizeTotal(0,0); SetScrollSizes(MM_TEXT,sizeTotal); 3、 打开文件 ( 图像后 ) 根据图像的大小,设置滚动属性值 ChangeScrollR转载 2008-04-24 08:22:00 · 3077 阅读 · 0 评论 -
关于win32绘图出现无法显示彩色问题的解决
CView::OnCreate()中的代码如下: ScrnWidth=GetSystemMetrics(SM_CXSCREEN); ScrnHeight=GetSystemMetrics(SM_CYSCREEN); CDC *dcpView; CRect rcView; GetClientRect(rcView); dcpView=GetDC(原创 2008-04-20 21:51:00 · 1251 阅读 · 0 评论 -
Templates
TemplatesPublished by Juan SoulieLast update on Nov 16, 2007 at 9:36am UTC Function templatesFunction templates are special functions that can operate with generic types. This allows u转载 2010-04-30 13:58:00 · 476 阅读 · 0 评论 -
C++的static关键字
C++的static关键字作者:韩耀旭 C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include void fn();stati转载 2011-01-13 17:04:00 · 288 阅读 · 0 评论 -
关于C++ const 的全面总结 收藏
关于C++ const 的全面总结 收藏 C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No. 作用 说明 参考代码 1 可以定义const常量 const int Max = 10转载 2011-01-13 17:02:00 · 419 阅读 · 0 评论 -
C++实例:指向指针的指针的初始化
int **ptr = new int*[N]; for ( i = 0; i ptr[i] = new int[N]; #include #include using namespace std; void print_char(char* array[],int len);//考试,大提示函数原形声明 void main(转载 2012-02-29 17:09:45 · 2427 阅读 · 0 评论