整理一些小東西,慢慢添加--------------
1、獲取當前平臺時區
// typedef struct _TIME_ZONE_INFORMATION {
//
// LONG Bias; //以分鐘爲單位
//
// WCHAR StandardName[ 32 ];// 標準時間的名稱
//
// SYSTEMTIME StandardDate;
//
// LONG StandardBias;
//
// WCHAR DaylightName[ 32 ];// 夏令時的名稱
//
// SYSTEMTIME DaylightDate;
//
// LONG DaylightBias;
//
// } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
//獲取當前平臺時區
double GetTimeZoneNow()
{
TIME_ZONE_INFORMATION tzi;
GetSystemTime(&tzi.StandardDate);
GetTimeZoneInformation(&tzi);
double zone = (double)tzi.Bias/ (-60); //時區,如果是中國標準時間則得到8
cout<<"時區:"<<zone<<endl;
return zone;
}
2、vc++出現warningC4819的處理方法
編譯VC++程序的時候出現如下提示警告:
warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
因爲只是一個warning,不影響正常編譯,所以並沒有引起大家多大的關注。我一開始的時候也是如此。但是後來出現的次數多了,發現這個警告和在程序Debug的時候
無法停在斷點,刷刷刷就過去了根本無法進行Debug。而罪魁禍首就是這個warning,改正了這個warning就能進行Debug了。
下面講述我是怎麼消除這個警告的。
這個警告的意思是:在該文件中有一個或多個字符不是Unicode字符!要求把這個字符變成Unicode字符。
難題:在編譯信息裏並沒有提示是哪個字符,或者是在哪一行裏出現的該字符。查找起來非常的難,甚至是不可能的任務!
我在網絡上找了好多資料都沒有找到解決方法。因爲大家都不注意這個不影響編譯的警告。後來在一個國外的網站上找到了解決的方法。很簡單,這個方法根本不需要知道具體是哪個字符在搗鬼!
解決方法:打開出現warning的文件,Ctrl+A全選,然後在文件菜單:file->advanced save options ,在彈出的選項中選擇新的編碼方式爲:UNICODE codepage 1200 ,點擊確定,問題就解決了。
3、檢測網絡通訊情況
(1)ping某個服務器或者ip:ping ip(域名)
(2)ping端口:telnet ip(域名) 端口
(3)查看本機監聽使用端口情況:netstat -ano
4、VS註釋快捷鍵
註釋: CTRL+K+C
取消註釋: CTRL+K+U
5、獲取運行路徑
char szapipath[MAX_PATH];
memset(szapipath,0,MAX_PATH);
GetModuleFileNameA(NULL,szapipath,MAX_PATH);//獲取應用程序路徑(帶xxx.exe)
char szdirpath[MAX_PATH];
memset(szdirpath,0,MAX_PATH);
//獲取應用名長度(xxxx.exe)
int nAppNamelen = 0;
for(int i = strlen(szapipath);i > 1;i--,nAppNamelen++)
{
if(szapipath[i -1] == '\\')
{
break;
}
}
strleft(szdirpath,szapipath,strlen(szapipath) - nAppNamelen - 1);//轉換應用路徑(szdirpath不包含應用程序名稱)
char* strleft(char *dst,char *src, int n)
{
char *p = src;
char *q = dst;
int len = strlen(src);
if(n>len) n = len;
/*p += (len-n);*/ /*從右邊第n個字符開始*/
while(n--) *(q++) = *(p++);
*(q++)='\0'; /*有必要嗎?很有必要*/
return dst;
}