- 博客(45)
- 资源 (4)
- 收藏
- 关注
转载 C++发送消息格式为JSON的http请求
JSON是类似于xml的一种用于信息交互的轻量级信息定义格式,可扩展性也很好。如何用C++写的代码来发送http请求,消息格式采用JSON呢?下面我一步一步介绍。所有步骤都经实际验证,测试平台为linux系统。 1. 发送http请求需要安装curl库。这个库一般linux系统是自带的。自己可以在系统目录查看下即可。 2. 需要构造和解析json格式的消息要用到jsoncp
2015-10-14 14:30:55
743
转载 ftp返回状态注解
参考:http://www.cnblogs.com/suger/archive/2011/11/10/2243954.htmlftp返回状态注解
2014-11-21 17:03:30
375
转载 openssl的RSA算法C++调用
参考:http://blog.sina.com.cn/s/blog_4f51dac40100u3co.html代码如下:
2014-11-21 16:50:04
955
原创 sqlite的自增主键与自增主键归零
引用:http://blog.youkuaiyun.com/lanruoshui/article/details/5179946http://www.jb51.net/article/50049.htm1.sqlite的自增主键:用数据库缓存一些数据,想实现队列的那种,先入先出,需要对插入sqlite的数据进行个排序,实验了rowid,好像sqlite不能按照rowid删除,故考虑增加
2014-10-29 16:05:27
1656
VS2010 助手安装
从优快云下载了Visual Assist X 10.6.1833.0版本的破解版,安装目录为默认的c://program files/Visual Assist X/,当我把破解的VA_X.dll粘贴到该目录下,VC++ 6.0可以正常启动Visual Assist,但是VS2010仍然会有提示是“试用”“input key" "Buy", "Cancel",在doc365里有一篇文章,提示
2014-06-23 17:57:33
237
原创 FTP的C++风格上的实现
被动方式 ,连接FTP,然后上传下载文件。linux下连接,源码如下:FTP.h#ifndef FTP_H_#define FTP_H_#include #include class CFTP{public: CFTP(void); ~CFTP(void); //连接ftp服务器 int ftp_connect(co
2012-12-03 11:40:54
4900
转载 linux下生成动态库与静态库
一、基本概念1.1什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。 1.2库的种类linux下的库有
2012-10-23 09:59:28
1667
原创 sql语句总结
oracle下的,还不清楚oracle下与mysql有什么区别1.简单语句:select * from wpps_nwp_deal_dr ;insert into wpps_nwp_deal_dr ID,date values(1,'1985-02-23');update wpps_nwp_deal set date='1985-02-23' where ID=1;2.曾经
2012-09-21 13:24:18
303
原创 linux下程序的启动
理论知识:首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写 到一个 文件里让系统能够按顺序执行,类似windows下的autorun.dat文件),另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X windo
2012-08-16 17:21:36
312
转载 linux下安装oracle客户端
首先补充或总结四点,原创内容,对原文进行补充,呵呵1. 第五步中要配置的三个文件,应该不用全部配置,只配置tnsnames.ora应该就可以。2. 如果在64位上案子64位的oracle客户端,运行“./sqlplus”时,会报错如下:[root@bogon lib]# ./sqlplus./sqlplus: error while loading shared lib
2012-08-09 11:28:17
2096
转载 VMware安装linux Redhat Enterprise5
1.准备工作:下载VM和linux Enterprise5 。VMware8.0 汉化版下载地址:http://www.itopdog.cn/utilities-operating-systems/virtual-machine/vmware-workstation.htmllinux Redhat Enterprise5下载地址(迅雷复制链接):ed2k://|file|%5B%E7%B
2012-08-09 00:29:29
525
原创 sizeof与strlen的区别
引用这篇文章一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、
2012-05-31 11:31:49
260
sizeof与strlen的分析
#include "iostream"using namespace std;int main(){ int a= 100; char c = 'c'; char var[] = "123456"; char *p = "123456"; char *q = new char[100]; q[50] = 0; cout<<"sizeof(int) = "<<sizeof
2012-05-31 11:21:37
92
原创 extern "c"解析,C++中引入C++全局函数
1. 经常看到说明在c++中引用c的库函数要添加 exter "c"。一直没有深究过这个问题,现在理论上分下下。C++为了标示多态,编译之后的obj文件是和C编译的文件不同的。同样的 int add(int x,int y)如果用C编译就会编译成_add,但如果是C++编译就是_add_int_int,C++编译的obj会带参数。在C++代码中常见的应用是#ifndef _DIST
2012-05-31 10:37:00
377
原创 memcpy 与 strcpy的区别(实现一个string发现的)
实践是检验真理的唯一标准,老以为自己都知道了,谁知实现一个string都能发现这么多问题。
2012-05-29 17:29:26
93
原创 C++ 中类的访问控制
因为要写一个string类,在编写复制构造函数时,发现居然可以访问对象的private变量,故百度之,发现原来的认识很浅显。代码如下:TString::TString(const TString &string1){ int len = strlen(string1.buf); buf = new char[len+1];// memcpy(buf,&string1,len);
2012-05-29 17:04:47
285
原创 C++ 宏 define 与const的区别
1.宏的定义方法:#define time 500#define ADD(X) ((X)+(X))注意:第一个基本与const(静态变量)相当,但const不能实现第二种情况宏不需要加 ";",如果分两行来写的话,需要用 “/”连接。#undef,来取消已定义的宏,取消后可以重新定义2. 宏与const的区别1.define由预处理程序处理,const由编译
2012-05-15 17:10:17
383
原创 ACE程序员指南:第三章ACE日志
1.测试程序:testlog.cpp代码如下:#include "ace/OS_main.h"#include "ace/Log_Msg.h"//#define ACE_NTRACE 0 /*类似的ACE_NDEBUG ACE_NERROR;如果ACE_NTRACE为1,标示不生产ACE_TRACE的日志*/void foo(void);int ACE_TMAIN(int ar
2012-05-10 10:20:58
181
原创 ACE程序员指南:第一章、第二章读书笔记
第一章:ACE很牛,可以用在很多地方,解决了很多OS、C++版本的不兼容的问题;第二章:如何编译ACE,以及如何运行一个正确的ACE程序(包含头文件、加载dll等等);注意:ACE_wrappers文件夹下有docs里面是部分说明文件;ACE_wrappers下的examples里面包含很多例子,好像上次是这儿的程序运行不了。
2012-05-04 15:51:59
355
原创 windows上获取内存信息的代码
代码如下:#include #include #include "psapi.h"#pragma comment(lib, "Psapi")void PrintMemoryInfo( DWORD processID ){ HANDLE hProcess; PROCESS_MEMORY_COUNTERS pmc; // Print the process identif
2012-03-21 17:06:31
811
原创 vs2008+qt4.6.2程序移植
将vs2008+qt4.6.2编译的程序放到没安装过vs2008和QT的XP机器上运行,遇到的问题。1.vs2008需要一些库,在XP上没有这些库文件;安装vcredist_x86.exe,拷贝安装过vs2008机器的C:\WINDOWS\WinSxS目录等方法,待总结。2.QT4中文显示问题;中文显示问题的解决:首先编译的时候本机中文显示不了,需要加一段代码,设置QT的解码方
2011-12-05 12:57:41
788
原创 #include中引号与尖括号的区别
双引号表示先在程序源文件所在目录查找,如果未找到则去系统默认目录查找,通常用于包含程序作者编写的头文件;尖括号表示只在系统默认目录或者括号内的路径查找,通常用于包含系统中自带的头文件今天就用错了,一个日志文件死活加载不进来。。。“”更高级一点儿,加载自己的文件用“”,加载系统目录中的文件用
2011-10-21 11:15:50
607
原创 C++内存泄露整理
内存泄露是因为new的空间,没有及时delete掉,导致程序运行所需要的内存越来越大。可能是因为以下原因导致未delete掉1.真正的没有delete,程序中只有new忘记delete了,这个比较明显,目前未在这方面犯过错误。2.new的变量需要放到一个list中,在
2011-10-11 16:22:43
290
原创 指向函数的指针
这个有时间再好好研究研究,现在明白了,没什么机会去用。把代码贴上。#include "stdafx.h"typedef char *(*PtoFun)(); //用typedef 说明可以用PtoFun声明一个向函数的指针类型,int main(int argc, cha
2011-09-29 11:36:57
305
原创 case语句中定义变量
case语句规范:在每个case后面加一个{},貌似一个编程规范上说过,没注意。这样加了{}之后如果再改case中需要局部变量就可以在case中声明了。 char c; std::cin>>c; switch (c) { case 97: { int i = 0; //it is right. std::cout<<c; break; } case 98
2011-08-09 13:35:48
930
原创 unix编程
unsigned short a = unsigned short (0xFFFF);为什么在windows上编译正确,在unix上编译错误呢,过段时间学学unix上的编程,看看为什么。float HZ=(float(pData[24]+pData[25]*256))/10;这个在unix上也错误。
2011-06-10 15:37:00
233
转载 linux-Vi使用方法(备查)
引用:http://www.newsmth.net/pc/pccon.php?id=5721&nid=220783 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最
2011-06-08 12:01:00
201
原创 UNIX初级命令:第一章 目录及文件操作命令
引用:http://www.ccvita.com/23.html第一章 目录及文件操作命令 1.1 ls [语法]: ls [-RadCxmlnogrtucpFbqisf1] [目录或文件......][说明]: ls 命令列出指定目录下的文件,缺省目录为当前目录 ./,缺省输出顺序为纵向按字符顺序排列。-R 递归地列出每个子目录的内容-a 列出所有文件,包括第一个字符为“.”的
2011-06-07 15:16:00
391
原创 Chapter2 varibles and Basic Types
<br />第二章 variables and Basic Type<br />2010-05-29许昌<br />2.1 primitive Built-in Type<br />使用double类型基本上不会有错。在float类型中隐式的精度损失是不能忽视的,而double类型精度代价相对于float类型精度代价可以忽略。事实上,有些机器上,double类型比float类型的计算要快得多。long double类型提供的精度通常没有必要,而且还需要承担额外的运行代价。<br /> 字符类型有两种:
2011-05-30 10:06:00
120
原创 Chaper1 GettingStarted
<br />2010-04-01西安<br />开始学习这本书,读完了preface。<br />三个组成部分:<br />· The low-level language, largely inherited from C<br />低级语言,多半继承自 C。<br />· More advanced language features that allow us to define our own data types and to organize large-scal
2011-05-30 10:01:00
102
原创 error LNK2001: unresolved external symbol总结
1.有可能是类的函数实现的时候错误。如:应该为MVT_PAR1* GpsTcpCallback::GetMUT_PAR1(unsigned char* data,int i),却写成了MVT_PAR1* GetMUT_PAR1(unsigned char* data,int i)error LNK2001: unresolved external symbol public: struct MVT_PAR1 * __thiscall GpsTcpCallback::GetMUT_PAR1(unsigned
2011-04-28 11:42:00
2508
原创 typedef和#define的用法与区别-转载
一直在用,但从来未关注过两者的区别,经常用一个再见到另一个就不敢认了,现总结下。一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。二、#define的用法#defi
2011-01-06 11:35:00
326
原创 需要学习的东西
<br />1.dll的编程方法:怎么调用,怎么实现!搞懂原理。<br />2.VC6的使用技巧,一个工程文件应该包含的东西,以及包含东西的意义、原理。<br /> 理解VC中的头文件编写。<br /> 搞明白环境变量的设置以及设置的意义!<br />3.系统学习一个编程的书,C++primer或者 QT4编程或者两者都练习一遍!<br />4.研究下LINUX系统,搞下LINUX下的编程。<br />5.研究下数据库技术!<br />6.软考方面的东西。
2010-12-23 15:14:00
87
原创 error LNK2005: __chsize already defined in MSVCRTD.lib(MSVCRTD.dll)
引用:http://www.cnblogs.com/Frodo/archive/2008/02/04/1064267.htmlhttp://www.builder.com.cn/2007/1127/656198.shtml关键字:运行时系统 单线程 多线程 DEBUG RELEASE出现错误原因:单线程的程序引用了多线程的lib库或者多线程的程序引用了单线程的lib库导致。msdn:警告 不要混合使用运行时库的静态版本和动态版本。在一个进程中有多个运行时库副本会导致问题,因为副本中的静态数据不与其他副本
2010-11-22 17:36:00
1764
原创 breakPoint 相关
现象是用 debug中的 step info或者run to cursor合着设置断点会出现One or morebreakpoints cannot be set and have been disabled. Execution will stopat the beginning of the program.解决方法,1.在project->setting->c/c++-general->debug info->program databse for edit and continue ;2.ed
2010-11-18 15:17:00
1144
原创 meset 函数介绍,及其使用规则
<br />百度百科:<br />需要的头文件<br /> <memory.h> or <string.h>编辑本段函数原型<br /> void *memset(void *s, int ch, unsigned n);编辑本段程序例<br /> #include <string.h><br /> #include <stdio.h><br /> #include <memory.h><br /> <br />memset函数<br />int main(void)<br /> {<br /
2010-11-16 11:24:00
1457
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人