收集的一些代码
来源:互联网 发布:全国小龙虾消费数据 编辑:程序博客网 时间:2024/05/01 04:05
// 得到应用程序路径 void cutFileName(wchar_t *lpszPath){wchar_t *lpszEnd = lpszPath;int charset = 0 ;while(*lpszPath != '\0') {if((*lpszPath == '\\') || (*lpszPath == '/') || (*lpszPath == ':')) {lpszEnd=lpszPath+1;}lpszPath++;}if(lpszEnd == lpszPath) {return;}*lpszEnd='\0';return;}int GetAppPath(wchar_t *App_Path){GetModuleFileNameW(NULL, App_Path, MAX_PATH);cutFileName(App_Path);return 1;} //16进制字符串转换成INT类型整形:"FFFF" -> 65535int HexToInt(const char *str, unsigned int *ival ){u_long u;const char *cp;cp = str;if (*cp == '\0')return 0;u = 0;while (*cp != '\0') {if (u >= 0x10000000)return 0; /* overflow */u <<= 4;if (*cp <= '9') /* very ascii dependent */u += *cp++ - '0';else if (*cp >= 'a')u += *cp++ - 'a' + 10;elseu += *cp++ - 'A' + 10;}*ival = u;return 1;}char *strstr(char *buf, char *sub) { char *bp = NULL; char *sp = NULL; if (!*sub) return buf; while (*buf) { bp = buf; sp = sub; while(true){if (!*sp) return buf; if (tolower(*bp) != tolower(*sp)){break;}bp++;sp++;}buf += 1; } return 0;}void Log(const char *format, ...){ va_list parameters;TCHAR szFileName[MAX_PATH] = {0};char buf[1024];FILE *fp;if(*szFileName == '\0'){GetAppPath(szFileName);_tcscat(szFileName,_T("debug.log"));}fp = _tfopen(szFileName, _T("a+"));if (fp != NULL){va_start(parameters, format);vsprintf(buf, format, parameters);fputs(buf, fp);va_end(parameters);fclose(fp);}}//.h#ifdef UNICODE #pragma comment(linker,"/ENTRY:wWinMainCRTStartup")#endif-------------------------------------分割线-------------------------------------static char HEXC[] = "0123456789ABCDEF";#define ISCHINESE(c) *(c)&0x80//需要转义的字符 (除 '0'-'9' 'A'-'Z' 'a'-'z' 外) #define IsEscapeChar(c) ((((c)<'0' ) || ( (c)>'9'&& *ptmp<'A') || ((c)>'z') || ((c)>'Z' && (c)<'a')))void URLEnGBKCode(char *szsrc,char *szdst){int len=0;unsigned char *ptmp=(unsigned char *)szsrc;int index=0;if (szsrc==NULL){return;}len=strlen(szsrc);while(len){if(IsEscapeChar(*ptmp)){szdst[index]='%';szdst[index+1]=HEXC[(*ptmp)>>4];szdst[index+2]=HEXC[(*ptmp)&0xF];index+=3;len--;ptmp++;}else{szdst[index]=*ptmp;index++;len--;ptmp++;}}}//GBK转义解码void URLDeGBKCode(char *szsrc,char *szdst){int len=0;int nchar;char *ptmp=szsrc;int index=0;int lentmp=0;int ideHex;if (szsrc==NULL){return;}len=strlen(szsrc);while(len){char c=*ptmp;if (c=='%' && len>2){ideHex=(ptmp[1]-'0');nchar=(int)((ideHex)<9?(ideHex<<4):((ideHex-7)<<4));ideHex=(ptmp[2]-'0');nchar+=(int)((ideHex)<9?(ideHex):((ideHex-7)));szdst[index++]=(char)nchar;ptmp+=3;len-=3;}else{szdst[index++]=*(ptmp++);len--;}}}time_t rep_getsystemtime(void){struct tm stm = {0};#if defined(PLATFORM_ANDROID) || defined(PLATFORM_MAC)time_t ltime = 0;time(<ime);stm = *localtime(<ime);return rep_mktime(&stm);#elseSYSTEMTIME st = {0};GetLocalTime(&st);stm.tm_year = (Gint32)(st.wYear-1900u);stm.tm_mon = (Gint32)(st.wMonth-1u);stm.tm_mday = (Gint32)st.wDay;stm.tm_hour = (Gint32)st.wHour;stm.tm_min = (Gint32)st.wMinute;stm.tm_sec = (Gint32)st.wSecond;stm.tm_wday = (Gint32)st.wDayOfWeek;return rep_mktime(&stm);#endif}struct tm rep_gmtime(Guint32 time){struct tm sttm = {0};Guint32 caltim = time;int islpyr = 0; int tmptim;struct tm *ptb = &sttm;int *mdays; /* * Determine years since 1970. First, identify the four-year interval * since this makes handling leap-years easy (note that 2000 IS a * leap year and 2100 is out-of-range). */ tmptim = (int)(caltim / FOUR_YEAR_SEC); caltim -= ((Guint32)tmptim * FOUR_YEAR_SEC); /* * Determine which year of the interval */ tmptim = (tmptim * 4) + 70; /* 1970, 1974, 1978,...,etc. */ if ( caltim >= YEAR_SEC ) { tmptim++; /* 1971, 1975, 1979,...,etc. */ caltim -= YEAR_SEC; if ( caltim >= YEAR_SEC ) { tmptim++; /* 1972, 1976, 1980,...,etc. */ caltim -= YEAR_SEC; /* * Note, it takes 366 days-worth of seconds to get past a leap * year. */ if ( caltim >= (YEAR_SEC + DAY_SEC) ) { tmptim++; /* 1973, 1977, 1981,...,etc. */ caltim -= (YEAR_SEC + DAY_SEC); } else { /* * In a leap year after all, set the flag. */ islpyr++; } } } /* * tmptim now holds the value for tm_year. caltim now holds the * number of elapsed seconds since the beginning of that year. */ ptb->tm_year = tmptim; /* * Determine days since January 1 (0 - 365). This is the tm_yday value. * Leave caltim with number of elapsed seconds in that day. */ ptb->tm_yday = (int)(caltim / DAY_SEC); caltim -= (long)(ptb->tm_yday) * DAY_SEC; /* * Determine months since January (0 - 11) and day of month (1 - 31) */ if ( islpyr ) mdays = _lpdays; else mdays = _days; for ( tmptim = 1 ; mdays[tmptim] < ptb->tm_yday ; tmptim++ ) ; ptb->tm_mon = --tmptim; ptb->tm_mday = ptb->tm_yday - mdays[tmptim]; /* * Determine days since Sunday (0 - 6) */ ptb->tm_wday = ((int)( time / DAY_SEC) + BASE_DOW) % 7; /* * Determine hours since midnight (0 - 23), minutes after the hour * (0 - 59), and seconds after the minute (0 - 59). */ ptb->tm_hour = (int)(caltim / 3600); caltim -= (Guint32)ptb->tm_hour * 3600L; ptb->tm_min = (int)(caltim / 60); ptb->tm_sec = (int)(caltim - (ptb->tm_min) * 60); ptb->tm_isdst = 0; return sttm;}struct tm rep_gmtime2(time_t t){struct tm stm = {0}; #if defined(PLATFORM_ANDROID) || defined(PLATFORM_MAC) stm = *gmtime(&t);#elseFILETIME pft = {0};SYSTEMTIME st = {0};Gint64 ll = Int32x32To64(t, 10000000) + 116444736000000000;pft.dwLowDateTime = (DWORD) ll;pft.dwHighDateTime = (DWORD)(ll >>32);FileTimeToSystemTime(&pft,&st); stm.tm_year = (Gint32)st.wYear-1900;stm.tm_mon = (Gint32)st.wMonth-1;stm.tm_mday = (Gint32)st.wDay;stm.tm_hour =(Gint32) st.wHour;stm.tm_min = (Gint32)st.wMinute;stm.tm_sec = (Gint32)st.wSecond;stm.tm_wday = (Gint32)st.wDayOfWeek;#endifreturn stm;}
- 收集的一些代码
- 一些代码的收集
- 一些好的代码,收集
- 收集的一些js代码
- 网上收集的php的一些代码
- 收集的一些JS的代码段
- 一些个性网页代码的收集
- 网上收集来的一些代码
- 个人收集的一些技巧代码
- 收集SQL2005的一些经典代码
- 一些常用的JS代码收集
- 收集的一些网址,小代码1
- 网上收集的一些JS代码
- 一些实用的JQuery代码片段收集
- 收集大家常用的一些Android代码
- 收集了一些常用的Android代码
- 【收集】常用的一些代码块<1>
- 收集的一些常用JS代码和CSS代码
- QTE显示中文
- flash 渐变颜色
- ListCtrl控件的简单使用
- oracle学习(创建表)
- 这次tt总结
- 收集的一些代码
- 完全用 GNU/Linux 工作
- 如何在PS和FLASH里做渐变颜色填充的字体
- 圣经语录
- 《锦衣卫》暗藏职场上位必杀技
- Meego平台技术架构
- org.eclipse.swt.SWTException: Invalid thread access
- 引用其它插件的图片
- 一msdn地址 http://www3.upweb.net/index274-img/showlog.php?id=6406