博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  c

摘要:#include <stdio.h>#include <winsock2.h>#include <time.h>#pragma comment(lib,"ws2_32.lib")char *plays[4]={ " | ", " / ", " - ", " \\ ",};char *host;int threadnum;int startport,endport,nowport;CRITICAL_SECTION for_w;struct timeval tim 阅读全文

posted @ 2012-03-18 19:23 ccmfc 阅读(266) 评论(0) 推荐(0)

摘要:#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析1.1 #define的概念#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。(1) 简单的宏定义:#define &l 阅读全文

posted @ 2012-01-17 15:02 ccmfc 阅读(442) 评论(0) 推荐(0)

摘要:char* ip_long2str(const unsigned long ip, char *pDest){ unsigned char pTmp[4]={0};*(unsigned int*)pTmp=ip; sprintf(pDest, "%d.%d.%d.%d", *(pTmp+0),*(pTmp+1),*(pTmp+2),*(pTmp+3));return pDest;}int ATOI(const char *pSrc, const int size, unsigned char *iDest){ int i=0;while(*(pSrc+i) &&am 阅读全文

posted @ 2011-12-07 17:57 ccmfc 阅读(618) 评论(0) 推荐(0)

摘要:#include <iostream>using namespace std;#include <conio.h>#define MAX_ARRAY_BUFF 12#define CHAR_ENTER '\r'#define CHAR_BACK '\b'#define DELETE(p) \{\if(p)\{\delete(p);\p=NULL;\}\}#define BACK_HANDLE \{\putchar('\b');\putchar(' ');\putchar('\b');\}cl 阅读全文

posted @ 2011-12-05 11:37 ccmfc 阅读(178) 评论(0) 推荐(0)

摘要:一、宽字节转窄字节char* wstr2asc(const short *pSrc, char *pDest){ char *pTmp=pDest; char ctmp=0; short stmp=0;if (NULL==pSrc)return NULL;while (*pSrc) { ctmp=*pSrc; stmp=*pSrc;if (ctmp<0) { *pTmp++=stmp; *pTmp|=(stmp>>=8); } else { *pTmp=*pSrc; } pSrc++; pTmp++; } *pTmp='\0';return pDest;}in 阅读全文

posted @ 2011-12-04 18:23 ccmfc 阅读(288) 评论(0) 推荐(0)

摘要:#include <stdio.h>void showrhomb1(const int num){int i=1;int j=1;for(; i<=num; i++){for(j=1; j<=num-i; j++)printf(" ");for(j=1; j<=2*i-1; j++)printf("* ");printf("\n");}for(i=1; i<num; i++){for(j=1; j<=i; j++)printf(" ");for(j=1; j<=2*( 阅读全文

posted @ 2011-01-03 20:39 ccmfc 阅读(211) 评论(0) 推荐(1)

摘要://linux与windows下都行,支持用户输入BACKSPACE时可以删除之前输入的,输入ENTER时,打印出密码#include stdio.h#include string.h#include assert.h#if _WIN32//编译开关#include conio.h#define BACKSPACE 8#define ENTER 13#endif#if unix//编译开关#include termios.h#include unistd.h#define BACKSPACE 127#define ENTER 10#endif#define MAX_SI 阅读全文

posted @ 2010-12-27 22:41 ccmfc 阅读(1298) 评论(0) 推荐(0)

摘要:C语言真是太深奥了,越学越觉得很多东西都不会!前段时间面试栽倒的一个问题:C函数入栈顺序下面先摘录一些:================================================C/C++函数调用约定与函数名称修饰规则探讨 使用C/C++语言开发软件的程序员经常碰到这样的问题:有时候是程序编译没有 问题,但是链接的时候总是报告函数不存在(经典的LNK 2001错误),有时候是程序编译和链接都没有错误,但是只要调用库中的函数就会出现堆栈异常。这些现象通常是出现在C和C++的代码混合使用的情况下或 在C++程序中使用第三方的库的情况下(不是用C++语言开发的),其实这都是函数 阅读全文

posted @ 2010-10-10 14:37 ccmfc 阅读(741) 评论(0) 推荐(0)

摘要://日历//关键是先找出一年中的第一天是这一年中的晚期几#include stdio.h#include windows.hbool bMonthFlags = false;/*以月来换页*///判别闰年bool IsLeapYear(int iYear){return ((iYear%400 == 0) || ((iYear%4 == 0) && (iYear%100 != 0)));}//一年中的第一天是这一年中的星期几int GetYearDay(){SYSTEMTIME sysTime;GetLocalTime(&sysTime);int iYear = sysTime.wYe 阅读全文

posted @ 2010-05-26 14:17 ccmfc 阅读(254) 评论(0) 推荐(0)

摘要:分享功能头文件Operator.h#include "Student.h"//增加bool Insert();bool InsertAccount();//删除bool Delete();bool DeleteAll();bool DeleteAccount();//查询bool Find();int Find(const char *tTempNumber);int Find(const char* tUser, const char* tPassword);int FindReg(const char* tUser);//修改bool Modify();bool Modify(const 阅读全文

posted @ 2010-05-01 02:43 ccmfc 阅读(368) 评论(0) 推荐(0)

摘要:今天上午下了下昨天的代码。。。。改了一小部分。。。能够实现对表达式的求值了。。。但是没对它的容错进行处理了。。。。总的来说功能是实现了。。但是自己觉得不满意。。。。不满意自己写的代码。。。为什么别人能写出高效的代码。。。而我却。。。。。总结了一下原因。。。基础没有打牢固。。。有些东西用不习惯。。。例如泛型算法中的List。。.Vector也不是经常用。。。。所以本人要闭关去了。。。。。赶快打好基础。。。。早日出关。。。。//转换成后缀表达式用数组保存字符int MidToBack(char *tPtr){Stackchar s;char *tChar = tPtr;int tRet;int 阅读全文

posted @ 2010-04-29 19:45 ccmfc 阅读(254) 评论(0) 推荐(0)