编程技巧与实现
ao929929fei
这个作者很懒,什么都没留下…
展开
-
大数开方
#define MAX_NUM 2000//两个大数比较大小int big(char s1[], char s2[]){ int q = 0; while (s1[q] == '0') { q++; } strcpy(s1, s1 +转载 2011-02-11 18:58:00 · 2045 阅读 · 4 评论 -
通过后缀判断一个文件是什么文件(音频或者视频)
音频/视频/图片 的文件都比较多为了避免判断很多次,可以使用统一的方式定义一个字符串,将所需要识别的后缀连接起来,并且中间增加一些分割的符号例如:const std::wstring CHCFileBrowserPage::m_strAudioSuffi = _T(".mp3.mp2.wav.aac.ogg.au.wma.flac.m4a.ac3.");然后通过字符串查找的方式原创 2013-01-14 18:42:36 · 4459 阅读 · 0 评论 -
printf的另类用法
真的没想到它竟然可以这么用// important.cpp : Defines the entry point for the console application.///************************************************************************//* 使用方法:在CMD命令处理行进入debug目录原创 2012-11-13 15:16:19 · 453 阅读 · 0 评论 -
文件读写操作(CxImage库)(文件包括File和内存数据)
/* * File: xfile.h * Purpose: General Purpose File Class *//* -------------------------------------------------------------------------------- COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: CxF转载 2012-10-17 16:43:59 · 2250 阅读 · 1 评论 -
Thread Pool
Thread PoolingYou can use thread pooling to make much more efficient use of multiple threads, depending on your application. Many applications use multiple threads, but often those threads spe转载 2012-10-15 11:50:14 · 1048 阅读 · 0 评论 -
指针操作安全
作为一名C++程序员,指针操作非常重要,但是指针操作失误就会出现很多这样那样的问题。主要的问题是:1.使用一块没有没有分配内存空间的指针,也分两种情况第一种:指针被初始化为NULL,即空指针,这类问题的后果比较少,因为一般的程序都会判断指针是否为空的状态第二种:指针不为空,这样就可能造成很严重的后果。可能是因为当后面立刻分配了一块内存再使用,就不会出现这类问题。 2.这个指原创 2010-12-31 12:22:00 · 638 阅读 · 0 评论 -
线程池(ThreadPool)——简单描述
(转)线程池的原理: 来看一下线程池究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客户端有一个新请求时,就会唤醒线程池中的某一个睡眠线程,让它来处理客户端的这个请求,当处理完这个请求后,线程又处于睡眠状态。可能你也许会问:为什么要搞得这么麻烦,如果每当客户端有新的请求时,我就转载 2011-09-05 10:40:16 · 1428 阅读 · 0 评论 -
C语言字节对齐
一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果取它的值的话需要访问两次转载 2011-12-24 09:35:45 · 522 阅读 · 1 评论 -
hex转换为char显示
typedef unsigned long u32;typedef unsigned short u16;typedef unsigned char u8;#define assert_print(a) printf("%s", a)u8 Temple_Data[32];u8 HexToChar(u8 byTemp){ byTemp &= 0x0f; if(byTemp原创 2012-06-26 16:29:48 · 9891 阅读 · 0 评论 -
UTC时间转为本地时间
int _tmain(int argc, _TCHAR* argv[]){ FILETIME FileTime, LocalFileTime; SYSTEMTIME UTCTime, LocalTime; SystemTimeToFileTime(&UTCTime,&FileTime); FileTimeToLocalFileTime(&FileTime, &LocalFileTime)原创 2012-03-22 16:55:39 · 645 阅读 · 0 评论 -
C语言struct和union结合使用,空间最小
struct StUserData { unsigned userdata1 : 1; // 0-- 1-- unsigned userdata2 : 2; // 0-- 1-- 2-- 3-- unsigned userdata3 : 3; unsigned userdata4 : 4; unsigned normaldata1 : 1; unsigned原创 2012-03-22 17:41:01 · 1183 阅读 · 2 评论 -
仿函数的使用
class AddNumber{public: void operator() (int a, int b, int& result) { result = a + b; }};class SubNumber{public: void operator() (int a, int b, int& result) { result = a - b; }};in原创 2012-03-22 15:50:13 · 460 阅读 · 0 评论 -
对我有用的代码
屏蔽和恢复警告信息#define PTM_WARNING_DISABLE \ __pragma(warning( push )) \ __pragma(warning( disable : 4867 ))#define PTM_WARNING_RESTORE \ __pragma(warning( pop ))#endif //_ATL_ENABLE_PTM_WARNING加原创 2012-10-16 18:20:56 · 750 阅读 · 0 评论