C/C++
听说森林里有糖果屋
毕业于加里敦大学物理系,拥有300年的工作经验。
展开
-
编写my_strcpy函数,实现与库函数strcpy类似的功能,不能使用任何库函数
#include<stdio.h>char *my_strcpy(char *p,char *q){ char *pTmp = p; while((*p++ = *q++) != '\0'); return pTmp;}int main(){ char str1[20] = "hello"; char str2[20] = "hey"; char *pResult = my_strcpy(str1, str2); prin.原创 2020-07-14 16:34:02 · 1786 阅读 · 0 评论 -
(转)基类析构函数必须为虚函数否则会造成内存泄漏
看看下面程序有什么错误:#include <iostream>using namespace std;class Father{public: Father(){}; ~Father(){};};class Son:public Father{public: Son(){}; ~Son(){};};int main(){...转载 2018-07-20 09:50:50 · 556 阅读 · 0 评论 -
BDB的事务处理(C++版)
1.Transactional Data Store (TDS)TDS是使用BDB的终极方式,它适用于多读多写,并且支持Recoveriablity等任何你能想到的常见数据库特性。BDB整体的体系结构,包含五个子系统:1)数据存取子系统,2)事务子系统,3)锁子系统,4)内存池管理子系统,5)日志子系统。//创建TDS Environment的env_flags如下:env_flags=...原创 2018-05-08 14:11:56 · 1323 阅读 · 0 评论 -
C++ 字符串UTF-8与GBK转化
//UTF8转化为GBK格式void ConvertUtf8ToGBK(CString &strUtf8){ int len=MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, NULL,0); wchar_t * wszGBK = new wchar_t[len]; memset(wszGBK,0,le...转载 2018-03-26 14:56:07 · 3791 阅读 · 0 评论 -
C++ 使用宏ifdef区分版本
在程序块中写好不同版本下该做什么事:#ifdef version_1 //TODO 1#endif // 版本1#ifdef version_2 //TODO 2#endif // 版本2写完后,在项目-属性-配置属性-C/C++-预处理器-预处理器定义中,添加宏即可。若是添加了version_1,则程序只执行TODO 1部分;若是添加了version_2,则程序原创 2018-03-16 15:41:38 · 2042 阅读 · 0 评论 -
回文素数
主要需要判断是否是素数+回文数:1.判断是否是素数的函数2.判断是否是回文数的函数3.写好上述两个函数,main函数里只需要判断两个函数返回值是否都为1即可,从2开始输出前50个回文素数,每5个换一行继续输出原创 2017-03-01 10:42:24 · 514 阅读 · 0 评论 -
C++中引用与地址运算符(&)
转载地址:http://www.cnblogs.com/chenxizhang/archive/2009/08/05/1539601.html在C++中,&这个符号有两个含义,一种含义是取某个变量或者对象的地址。这个地址是指内存地址,这个地址取到之后,可以赋给一个指针。例如下面这样int a=5;int *p=&a;这就表示,有一个变量为a,其值为5,然后有一个指针变量p,它保转载 2017-02-13 16:14:59 · 3053 阅读 · 0 评论 -
C++中TRACE宏的使用
TRACE 宏类似C语言中的Printf函数,用于程序运行过程中,适当输出想要的调试信息。注意点:TRACE宏只有在调试状态下才有所输出,所以只对Debug 版本的工程产生作用,而在Release 版本的工程中,TRACE宏将被忽略。而Printf 函数则无限制条件,任何情况均可以进行输出。原创 2016-11-08 13:17:43 · 8373 阅读 · 0 评论 -
sizeof(数组名)和sizeof(指针)
例:32位环境下,int *p=new int[10];请问sizeof(p)的值为()A、4 B、10 C、40 D、8我以为正确答案为C,int类型为32位,占四个字节,10个自然就是40了,结果正确答案为A,只是指针p占的空间。因此写段代码测试一下:#include usi转载 2016-11-08 12:49:21 · 442 阅读 · 0 评论 -
c/c++ _read() 和 _write() 和 _lseeki64() 和 read() 和 read() 函数
1. _read() + _write() + _lseeki64() ①. char lpBuf[4] = ""; int fd; //句柄 int readlength = 0;//读取到的长度 int nbytes = 4;//nbytes是想要读取的长度(为4字节) readlength = _read(fd, lpBuf, nbytes原创 2016-10-14 10:11:23 · 5219 阅读 · 0 评论 -
strchr/strrchr函数使用
strchr:在字符串中,从左边开始找到某字符首次出现的位置。strrchr:在字符串中,从左边找到某字符最后一次出现的位置。例子:*strrchr(filepath,'.') = '\0'; // 从最左边开始最后一次出现"."的位置原创 2016-08-15 10:49:54 · 758 阅读 · 0 评论 -
在程序中自动获取exe执行文件名字
全局变量:std::string ServerName; // 服务名称(程序本身名字)int main()内:char filepath[1024] = "";//获取exe执行文件名字(去掉后缀".exe")GetModuleFileName(NULL, filepath, MAX_PATH);*strrchr(filepath,'.') = '\0原创 2016-08-15 10:45:19 · 2868 阅读 · 0 评论 -
C语言中运算符优先级
运算符优先级:原创 2016-07-19 13:45:48 · 391 阅读 · 0 评论 -
字符串操作函数原型实现
//将两个char类型连接:char * __cdecl strcat(char * dst, const char * src) { char * cp = dst; while( *cp ) cp++; while( *cp++ = *src++ ) ; return( dst );原创 2016-07-11 18:26:02 · 484 阅读 · 0 评论 -
C++命名空间实现MD5加密
转自:http://blog.csdn.net/feier7501/article/details/10474473采用namespace。VS2010新建控制台空项目,加入下面的代码:global.h:/* GLOBAL.H - RSAREF types and constants /* Copyright (C) RSA Laboratories, a di转载 2016-06-06 14:53:54 · 354 阅读 · 0 评论 -
C++中BOOL和bool的区别
一、在博客上找到了BOOL和bool的区别:(记录下来学习 出处:http://blog.csdn.net/wangqinghao/article/details/7976708)1、类型不同BOOL为int型bool为布尔型2、长度不同bool只有一个字节BOOL长度视实际环境来定,一般可认为是4个字节3、取值不同bool取值fal转载 2016-06-06 13:52:08 · 2434 阅读 · 1 评论 -
在vs下讨论debug和release版本的区别
VS发布程序有两个版本,分别为debug和release版本,debug被称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,为开发人员提供强大的应用程序调试功能。而release被称为发布版本,是为用户准备的版本,客户不允许在发布版本上进行调试,故不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。用户使用起来非常方便。debug程序通常原创 2016-06-24 17:16:30 · 737 阅读 · 1 评论