随笔分类 -  C/C++

1 2 3 4 下一页
[mysql] C++操作mysql方法总结(1)
摘要:From:http://www.cnblogs.com/magicsoar/p/3817518.htmlC++通过mysql的c api和通过mysql的Connector C++ 1.1.3操作mysql的两种方式使用vs2013和64位的msql 5.6.16进行操作项目中使用的数据库名为boo... 阅读全文
posted @ 2015-03-12 17:10 清清飞扬 阅读(43131) 评论(0) 推荐(1) 编辑
C语言中time_t数据类型详细介绍
摘要:From: http://maxim.eefocus.com/xuefu2009/blog/10-03/187348_f456a.html包含文件:#ifndef__TIME_T#define__TIME_T /* 避免重复定义 time_t */typedef long time_t; /* 时间值time_t 为长整型的别名*/#endif既 然time_t实际上是长整型,到未来的某一天,从一个时间点(一般是1970年1月1日0时0分0秒)到那时的秒数(即日历时间)超出了长整形所能表示 的数的范围怎么办?对time_t数据类型的值来说,它所表示的时间不能晚于2038年1月18日19时14分 阅读全文
posted @ 2012-07-10 10:18 清清飞扬 阅读(14536) 评论(0) 推荐(0) 编辑
彻底搞清楚C/C++中日期和时间 time_t与struct tm,time(NULL),ctime;strftime
摘要:From: http://blog.csdn.net/byrsongQQ/article/details/5790445本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。 阅读全文
posted @ 2012-07-10 10:10 清清飞扬 阅读(5670) 评论(0) 推荐(0) 编辑
win7下注册一个com失败,权限不够
摘要:在win7下,用vc2010建立了一个最简单的ATL com,但是编译成功了,注册时却失败了,提示:"warning MSB3075: 命令“regsvr32 /s "E:\Program\VC2010\testcom3\Debug\testcom3.dll"”已退出,代码为 5。请验证您是否有足够的权限来运行此命令。"很明显:这是一个权限不足的问题。同样的代码放在win XP下,可能没有任何问题,但是在win7下却出现了这种问题。因为win7对权限的管理还是比较严的。分析代码,注册dll的代码就是:_AtlModule.DllRegisterServe 阅读全文
posted @ 2011-06-14 10:43 清清飞扬 阅读(3094) 评论(0) 推荐(0) 编辑
VC++、MFC、COM和ATL的区别
摘要:From: http://hi.baidu.com/huqingshuye/blog/item/c55bd12ca5fa1b5b4ec2263f.html一、什么是MFC 微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinOS下开发人员使用的专业C++ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),MFC就是挂在它之上的一个输助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:C++是一种程序设计语言,是一种大家都 阅读全文
posted @ 2011-06-08 15:53 清清飞扬 阅读(5915) 评论(1) 推荐(2) 编辑
二分法在数组中查找关键字
摘要:/* 此程序演示了二分法查找算法(针对按从小到大排列的数组)的实现。*/#include <iostream>using namespace std;/* 功能: 实现数组的二分法查找(只算法只适合按从小到大排列的数组) 返回值:关键字在数组中的下标, 返回-1表示未找到 a[]: 要搜索的数组 len: 数组元素个数 key: 要查找的关键字*/int binSearch(int a[], int len, int key){ int i = len / 2; int ii = 0; if(len < 1) return -1; if((key > a[i]) &am 阅读全文
posted @ 2011-06-08 10:15 清清飞扬 阅读(3166) 评论(0) 推荐(0) 编辑
取得系统时间并以BCD形式保存到字符串中
摘要:#include <stdio.h>#include <time.h>#define HEX2BCD(x) (((x) % 10) + ((((x) / 10) % 10) << 4)) /*20 -> 20H*/#define UINT8 unsigned char/* 功能:获取BCD时间 out: [out] 保存获取到的BCD时间,格式为:秒分时日月年(各占一字节,BCD格式)*/void getBCDTime(UINT8 *out){ time_t t; int i = 0; struct tm *tp = NULL; t = time(NU 阅读全文
posted @ 2011-05-27 15:31 清清飞扬 阅读(1215) 评论(0) 推荐(0) 编辑
C语言输出“I LOVE U”
摘要:#include <stdio.h>#include <windows.h>#define N 50HANDLE hConsole; void gotoxy(int x, int y) { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(hConsole, coord); } void main(){ int i,j,k; hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hConsole, FOREGRO 阅读全文
posted @ 2011-04-16 12:27 清清飞扬 阅读(2370) 评论(0) 推荐(0) 编辑
C和C++混合编程
摘要:From: http://blog.ednchina.com/tianlebo/479334/message.aspxextern "C"表示编译生成的内部符号名使用C约定。C++支持函数重载,而C不支持,两者的编译规则也不一样。函数被C++编译后在符号库中的名字与C语言的不同。例如,假设某个函数的原型为:void foo( int x, int y ); 该函数被C编译器编译后在符号库中的名字可能为_foo,而C++编译器则会产生像_foo_int_int之类的名字(不同的编译器可能生成的名字不同,但是都采用了相同的机制,生成的新名字称为“mangled name”)。_ 阅读全文
posted @ 2011-04-13 14:01 清清飞扬 阅读(1208) 评论(0) 推荐(0) 编辑
由恼火的错误error C2275: 'xxx' : illegal use of this type as an expression所想到的
摘要:在linux下调试一个C,通过,没问题,因为linux是在服务器上,大家公用的,所以都是在自己的机子上调试好了再拿去跑,但是刚刚一个跑通过的程序,竟然在自己机子的XP VC6下又跑不过去了(搞笑的是这个C还是在VC下编好的),怎么回事呢,提示是:error C2275: 'time_t' : illegal use of this type as an expression如图: 怎么回事呢,google一下,都没搜到,无意中看到一篇文章很简单,说的是: (declaration)must placed on the beginning of function, In this 阅读全文
posted @ 2011-04-13 13:06 清清飞扬 阅读(10901) 评论(0) 推荐(0) 编辑
C语言实现二维数组操作--元素个数确定
摘要:代码如下:/* 本例用于测试C语言实现二维数组的创建、输出和内存释放 结论:二维数组只适合数组元素个数确定的情况,如果元素个数不确定,最好是用链表。*/#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 5// 创建并初始化二维数组char** get2DArray(int n){ int i = 0; char temp[256] = {0}; char **p = malloc(sizeof(char*) * n); for(i = 0; i < n; i++) { p 阅读全文
posted @ 2011-04-12 22:09 清清飞扬 阅读(4540) 评论(2) 推荐(1) 编辑
同样的c代码,为何在windows下和linux下执行结果不一样?
摘要:代码如下:#include <stdio.h>#include <string.h>int main() { char *in_utf8 = "你在干吗呢"; char *in_gb2312 = "安装超人"; char *in_eng = "English man"; printf("len1=%d, len2=%d, len3=%d\n", strlen(in_utf8), strlen(in_gb2312), strlen(in_eng)); return 0;}在windows下,运 阅读全文
posted @ 2011-04-11 22:58 清清飞扬 阅读(3155) 评论(1) 推荐(0) 编辑
C语言判断文件编码格式
摘要:/* 功能:实现文件编码格式的判断 通过一个文件的最前面三个字节,可以判断出该的编码类型: ANSI: 无格式定义;(第一个字节开始就是文件内容) Unicode: 前两个字节为FFFE; Unicode big endian: 前两字节为FEFF; UTF-8: 前两字节为EFBB,第三字节为BF*/#include <stdio.h>#include <stdlib.h>#include <string.h>// 读取一个文件的最前面n个字节,并以十六进制形式输出每个字节的值void readNBytes(char *fileName, int n){ 阅读全文
posted @ 2011-04-11 10:45 清清飞扬 阅读(9657) 评论(0) 推荐(3) 编辑
1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
摘要:#include <stdio.h>int main() { int i,j,k, c = 0; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ { printf("%d%d%d\n",i,j,k); c++; // 个数加1 } } printf("count = %d\n", c) 阅读全文
posted @ 2011-04-06 22:45 清清飞扬 阅读(512) 评论(0) 推荐(0) 编辑
printf()格式化输出详解
摘要:printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少。 ②-:有-表示左对齐输出,如省略表示右对齐输出。 ③0:有0表示指定空位填0,如省略表示指定空位不填。 ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。对数值型的来说,未指定n时,隐含的精度为n=6位。 ⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。 --------------------------------------- 格式字符 阅读全文
posted @ 2011-04-05 13:53 清清飞扬 阅读(1088) 评论(0) 推荐(0) 编辑
C语言基础知识:printf的输出格式
摘要:printf()函数是格式输出函数,请求printf()打印变量的指令取决与变量的类型.例如,在打印整数是使用%d符号,在打印字符是用%c 符号.这些符号被称为转换说明.因为它们指定了如何不数据转换成可显示的形式.下列列出的是ANSI C标准peintf()提供的各种转换说明. 转换说明及作为结果的打印输出%a 浮点数、十六进制数字和p-记数法(C99)%A 浮点数、十六进制数字和p-记法(C99)%c 一个字符 %d 有符号十进制整数 %e 浮点数、e-记数法%E 浮点数、E-记数法%f 浮点数、十进制记数法 %g 根据数值不同自动选择%f或%e.%G 根据数值不同自动选择%f或%e.%i 阅读全文
posted @ 2011-04-05 13:51 清清飞扬 阅读(1194) 评论(0) 推荐(0) 编辑
vc列举浏览器“历史”记录
摘要:VC MFC程序,列举浏览器“历史”记录并记录到文件中:void CMy111Dlg::OnButton1() { HRESULT hr; IUrlHistoryStg2 *puhs; IEnumSTATURL *pesu; STATURL su; ULONG celt; _bstr_t bstr; hr = ::CoCreateInstance(CLSID_CUrlHistory, NULL, CLSCTX_INPROC_SERVER, IID_IUrlHistoryStg, (LPVOID*)&puhs); if(SUCCEEDED(hr)) { hr = puhs-> En 阅读全文
posted @ 2011-03-15 21:47 清清飞扬 阅读(1099) 评论(0) 推荐(0) 编辑
VC++中,CTime 与CString转换
摘要:VC++中,CTime 与 CString转换CTime m_StartTime1 = CTime::GetCurrentTime();CString csStartTime = m_StartTime1.Format( "%Y%m%d%H%M%S" );使用sprintf及sscanf函数进行CString与CTime之间的转换 一.将CString转为CTime的几种方法CString timestr = "2000年04月05日"; int a,b,c ; sscanf(timestr.GetBuffer(timestr.GetLength()), 阅读全文
posted @ 2011-03-14 11:48 清清飞扬 阅读(7194) 评论(0) 推荐(0) 编辑
c++ 标准库MAP用法
摘要:#if defined (_MSC_VER)#pragma warning(disable: 4786)#endif#include <iostream>#include <map>#include <algorithm>#include <conio.h>int main(int argc, char *argv[]){ /* define a map */ std::map<int, float> _map; /* insert */ _map.insert( std::map<int,float>::value_ty 阅读全文
posted @ 2011-02-27 23:15 清清飞扬 阅读(2987) 评论(0) 推荐(0) 编辑
c++ map的使用--键值对的集合
摘要:#include <iostream>#include <map>using namespace std;int main(){ map<int, string> m; m[0] = "h1"; m[3] = "what"; m.insert(pair<int, string>(4, "love you")); cout<<m[0].c_str()<<endl; cout<<m[3].c_str()<<endl; cout<<m 阅读全文
posted @ 2011-02-27 23:04 清清飞扬 阅读(11349) 评论(0) 推荐(0) 编辑

1 2 3 4 下一页