- 博客(43)
- 资源 (4)
- 收藏
- 关注
原创 Xshell 5 出现"Xshell出现要继续使用此程序必须应用到最新的更新或使用新版本" 时 的处理方法
方法一:资源可以用,但是安装完成后启动会报错:“要继续使用此程序,您必须应用最新的更新或使用新版本” 解决办法先修改你电脑时间为前一年(2017 12月),然后就可以打开xshell了,打开后"工具"->选项->更新->取消前面的更新即可该方法可以在更改系统时间之后能临时启动Xshell 但是 当系统时间恢复之后,关闭Xshell再启动时 更新提示依旧存在(不治本的方...
2018-12-31 15:29:49
921
原创 C++ 实现单向链表
#include#include#includeusing namespace std;struct Node{int value;Node* Next;};class List{private:Node* head;int count;public:List(){count=0;head=NULL;}Node* He
2015-12-20 22:28:27
670
原创 C++实现双向链表的创建,插入,修改,删除
#include#includeusing namespace std;struct Node{int value;Node* pre;Node* next;};class Double_list{private:Node*head;public:Double_list(){head=NULL;}void Create()
2015-12-20 22:26:12
2547
1
原创 C++向文件中写入数据
#include#include#includeusing namespace std;int main(){time_t time_now;//定义一个time_t结构的对象time(&time_now);//获取系统当前的日历时间tm timep; //时间结构体 localtime_s(&timep,&time_now);//将日历
2014-12-30 18:43:01
5773
转载 AfxMessageBox与MessageBox的区别
如果用MFC的话,请尽量使用afxmessagebox,因为这个全局的对话框最安全,也最方便。 但是在WIN32 SDK的情况下只能使用MESSAGEBOX。MessageBox()是Win32API函数.后者是mfc中的全局函数.在MFC中能用MessageBox()的地方都能用AfxMessageBox().afxmessagebox更多的时候是用于调试AfxMes
2014-12-22 09:33:26
623
原创 使用批处理文件完成注册信息
在编写软件时, Window系统下的动态链接库需要注册才能使用。比如在Win XP系统下运行ADO程序,需要在当前目录下注册 regtlibv12 msado60_Backcompat_i386.tlb。因为在软件使用时,第一次都需要进行固定的祖册信息操作。这是可以将注册信息放在一个批处理文件中,在第一次运行软件时,运行批处理文件便可以实现信息的注册。将msado15.dll 和msa
2014-12-19 09:51:24
807
原创 在XP系统上运行ADO程序。
出现的问题:在WIN7下开发的MFC ADO应用程序到XP上就不能运行了。原因:win7 sp1上编译ADO程序,在win7 sp1以下版本不能运行。解决方案:1、先下载下面的文件32位WIN7系统:Msado60_Backcompat_i386.tlb64位WIN7系统(INTEL平台):Msado60_Backcompat_i386.tlb 和Msado
2014-12-19 09:07:12
1584
原创 C++ 根据操作系统版本调用不同的动态链接库
在操作数据库时遇到一个问题:win7 sp1上编译ADO程序,在win7 sp1以下版本不能运行,(Win7系统下需要的动态文件与XP系统的需要的动态链接库不一样。需要根据系统的版本加载动态链接库。)Win7 系统下:需要的动态链接库#import "MSADO15.DLL"rename_namespace("ADOWE") rename("EOF","EndOfFile")
2014-12-18 22:07:10
2582
转载 C程序(进程)的内存布局
C程序(进程)的内存布局#include const int a = 10; //全局常量aint main(void) { const int b = 20; //局部常量b int* pa = (int*)&a; int* pb = (int*)&b; *pa = 30; //可以吗?能成功赋值吗? *pb = 30; //可以吗?能成功赋值吗? r
2014-12-04 16:49:09
651
转载 static的作用(修饰函数、局部变量、全局变量)
static作用(修饰函数、局部变量、全局变量)在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a
2014-12-04 16:01:39
651
转载 测试领域的学习和发展(我们都是温水的青蛙)
测试领域的学习和发展 ------其实我们处在测试领域中,就都如处在“温水中的青蛙一样”最近很长一段时间都很忙,突然对自己最近的学习方法做个简单的总结,以及个人对测试发展的整个过程的一个分析,希望对大家有帮助一、测试发展过程我认为一般的测试过程发展:测试执行->测试用例撰写->自动化测试实现->测试流程与平台实现。《1》测试执行阶段要求:1、
2014-11-04 15:13:30
651
转载 C++#include 采用尖括号和采用引号的区别
如果你还看一些别的C++教程,那么你可能很早就发现了,有些书上的#include命令写作#include ,但有时候又会出现#include "文件名"。你会很疑惑,到底哪个是对的呢?为什么要有这两种不同的写法呢?这两种写法都是正确的写法,但是它们却是有区别的。我们知道C++已经有一些编写好的头文件(比如标准函数库等等),它们存放在VC++的Include文件夹里。当我们使用#includ
2014-09-30 15:35:25
844
转载 给定一个字符串,求出其最长的重复子串
题目:给定一个字符串,求出其最长的重复子串如字符串abcdabcabcd,求的最长重复子串为abcd代码:void LongChar(char* str){ if(str==NULL) return; int max=0; int first=0; int count=0; for(int i=1;i for(int k=0,j=0;j
2014-09-12 16:29:19
1059
转载 C++宏定义的优缺点
一、#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析
2014-09-01 08:50:11
3220
转载 auto_ptr浅析
很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。1.为什么称它为“自动”指针?auto_ptr只是众
2014-08-26 15:44:36
641
转载 C++中explicit关键字的作用
explicit用来防止由构造函数定义的隐式转换。 要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如: class things{ public: things(const std::string&name =""): m_name(name),
2014-08-26 15:21:54
525
转载 求一个字符串中连续出现次数最多的子串
/* 基本算法描述: 给出一个字符串abababa 1.穷举出所有的后缀子串 substrs[0] = abababa; substrs[1] = bababa; substrs[2] = ababa; substrs[3] = baba; substrs[4] = a
2014-07-28 15:41:18
643
转载 TCP 建立连接的三次握手 和释放连接的四次挥手 图解
相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。 因此在这里详细解释一下这两个过程。
2014-07-27 16:37:14
1253
转载 大端系统和小端系统
大端/小端就是Big-Endian/Little-Endian问题大端:高位字节存在高地址上,低位字节存在低地址上小端:低位字节存在高地址上,高位字节存在低地址上 有两种常见的方法来判断是大端还是小端方法一:使用指针int x=1;if(*(char*)&x==1) printf("little-endian\n");else printf("b
2014-07-15 16:30:13
2019
1
转载 从农夫养牛问题推广到斐波那契数列
从农夫养牛问题推广到斐波那契数列 一个农夫养了一头牛,三年后,这头牛每年会生出1头牛,生出来的牛三年后,又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢?这里主要谈一下解决这种问题的思想。首先可以联系斐波那契数列,设f(n)为第n年的牛,则f(n) = f(n - 1) + f(n - 2)————>表达式1-1即第n年的牛为去年牛的个数f(n - 1)加上今年
2014-07-15 14:35:21
776
转载 realloc 用法
最近在写source code时需要在数组的buffer小时重新申请一块buffer,故找了一些资料,乖乖,竟然原指针还可以“漂移”。。。。。。realloc 原型:extern void *realloc(void *mem_address, unsigned int newsize); 用法:#include 有些编译器需要#include 功能:改变mem_address
2014-07-01 16:32:38
801
原创 CTime以及其它时间差 DateTimePicker控件
CTime以及其它时间差一、DateTimePicker控件引用一个DateTimePicker控件,关联变量m_date为DateTimeCtrl类型,然后在响应事件中加入如下代码: CTime tm; m_date.GetTime(tm); CString strDate=tm.Format("%Y-%m-%d");就可以获取了...
2014-07-01 15:44:52
1289
转载 STL set的使用 vector List set map 成员函数erase
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。 在使用 list、set 或 map遍历删除某些元素时可以这样使用:正确使用方法1 std::list List; std::l
2014-07-01 10:28:38
845
转载 C++读取一整行字符串
大家在学习C++编程时,一般在输入方面都是使用的cin.而cin是使用空白(空格,制表符和换行符)来定字符串的界的。这就导致了对于带有空格的字符串,比如”I Love C++奋斗乐园论坛”只能读入”I”,后面的都无法读入。这时怎么办? 一.对于字符数组:方法一:getline()读入整行数据,它使用回车键输入的换行符来确定输入结尾。调用方法: cin.getli
2014-06-30 21:40:06
11536
转载 螺旋队列
螺旋队列问题下面是一个螺旋队列: 73 74 75 76 77 78 79 80 81 72 43 44 45 46 47 48 49 50 71 42 21 22 23 24 25 26 51 70 41 20 7 8
2014-05-14 14:46:38
812
转载 拷贝构造函数
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。
2014-04-29 13:43:12
626
转载 const 修饰函数参数,返回值,函数体
看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设
2014-04-29 09:27:16
656
转载 CString、string 以及char* 的相互转换
CString 头文件#include string 头文件#include CString 转char *CString cstr;char *p = (LPSTR)(LPCTSTR)cstr;string 转 CStringCString.format(”%s”, string.c_str());char 转 CStringCString
2014-04-21 21:24:41
646
转载 堆内存和栈内存 解析
堆:顺序随意栈:先进后出堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈2、堆区(heap) — 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵
2014-04-15 18:56:42
629
原创 Tencent2014实习笔试题 南京
#includeusing namespace std;class Base{public:virtual int foo(int x){return x*10;}int foo(char x[10]){return sizeof(x)+10;}};class Derived :public Base {int foo(int
2014-04-14 13:50:41
930
转载 C++与C语言字符串头文件及其对应的操作
1.#include //不可以定义string s;可以用到strcpy等函数using namespace std;#include //可以定义string s;可以用到strcpy等函数using namesapce std;#include //不可以定义string s;可以用到strcpy等函数2.
2014-03-22 22:40:20
9346
原创 指向指针的指针的使用
这篇文章主要是介绍 指向指针的指针 的一种用法上代码(用途:使用一个函数动态申请内存,并赋值。跳出调用函数后输出赋值内容)[cpp] #include #include typedef struct Data { int da; } Data; void fun(Dat
2014-03-19 10:09:07
699
原创 回调函数例子
回调函数例子具体过程就不再详细描述了。可与看 我转载的“C++回调函数(callback)的使用”一文直接上例子。//头文件#if !defined(AFX_CALLBACKMFCTESTDLG_H__05A42778_CA7F_4D81_9350_3592155687BB__INCLUDED_)#define AFX_CALLBACKMFCTESTDLG_H__05
2014-03-12 22:27:35
855
转载 C++回调函数(callback)的使用
什么是回调函数(callback) 模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应。 那么我们就把foo称为回调函数。 例子: 回调函数是一个很有用,也很重要的概念。当发生某种事件时,系统或其他函数将会自动调用你定义的一段函
2014-03-12 22:19:35
3408
VC动态调整对话框控件位置和大小
2013-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人