原创 MFC控件 --- 進度條【案例】

打開遊戲或者其他一些軟件時,時常會看到剛開始時有一個進度條在加載,有點酷炫的感覺。對於MFC進度條的使用,下面用一個案例介紹一下。 案例:進度條單步加載和自動連續加載 步驟: 1.按下圖在對話框中添加一個進度條,一個編輯框,和3個

原创 C++操作系統剪切板

剪切: if (OpenClipboard())//打開剪貼板 { CString str; HANDLE hClip; char* pBuf; EmptyClipboard();//清空剪貼板 GetD

原创 內存映射技術(共享內存)

內存映射 : 內存映射文件不同於文件I/O操作,內存映射實際用到了Windows的核心編程技術–內存管理。 使用內存映射文件的一般方法:   首先要通過CreateFile()函數來創建或打開一個文件內核對象,這個對象標識了磁盤上

原创 OPenCV框選感興趣區域ROI,按ESC退出時畫框並輸出座標

/* OPenCV框選感興趣區域ROI,按ESC退出時畫框並輸出座標 */ #include "stdafx.h" #include "opencv2/highgui/highgui.hpp" #include < iost

原创 C++深入之內聯函數

C++內聯函數 對常規函數的調用對應着跳轉到標記函數起點的內存單元,然後執行函數代碼,執行完畢後跳回到地址被保存的命令處。 來回跳躍並記錄跳躍位置是需要一定開銷的。 C++提供的內聯函數與常規函數不同,內聯函數在編譯階段就將函數代

原创 C++ STL之向量vector

vector成員函數: 常用: push_back( )在向量的末尾插入值,必要時會擴展向量的大小 size( )顯示向量的大小 begin( )返回一個指向向量開頭的迭代器 end( )返回一個指向向量末尾的迭代器

原创 CString幾個常用方法

常用: CString Left(int nCount)const; //從左邊1開始獲取前 nCount個字符 CString Mid(int nFirst)const; //從左邊第 nCount+1個字符開始,獲取後面所有的

原创 MFC—分級創建目錄及文件

分級創建目錄及文件: 在根目錄下按照日期分類生成目錄,在日期目錄下再按照分鐘生成分鐘目錄,文件按每分鐘生成在不同的文件夾下。 #include <io.h> //_access頭文件 #include <direct.h>

原创 關於LPSTR、LPCSTR、LPTSTR和LPCTSTR

LPSTR: 指向一個字符串的32位指針,每個字符佔1個字節。 LPCSTR:指向一個常量字符串的32位指針,每個字符佔1個字節。 LPTSTR:指向一個字符串的32位指針,每個字符可能佔1個字節或2個字節。此字串可移植到Unic

原创 取得字符串長度的幾種方法及區別

sizeof :取得字符串的字節長度,包含 '/0'。 strlen:取得多字節字符串中字符長度,不包含 '/0'。 wcslen:取得寬字節字符串中字符長度,不包含 '/0'。 tcslen:取得寬字節/多字節字符串中字符長度,

原创 C++不能往TXT、XML文件寫入中文的解決方法

以下CStdioFile無法向文件(txt、xml)中寫入中文,或寫入的是亂碼: CStdioFile file; file.Open(…); file.WriteString(_T(“abc你好”));//只能寫入abc 解決辦

原创 VS2015Socket警告warming:C4996 'inet_addr': Use inet_pton() or InetPton() instead or define _WIN...

原:sockAddr.sin_addr.s_addr = inet_addr(“192.168.1.6”); 報警: Error C4996 ‘inet_addr’: Use inet_pton() or InetPton() i

原创 MFC雙擊按鈕不能跳轉到代碼的解決方法

首先在項目中–【生成】–【清除解決方案】 關閉項目 刪除項目中的【Debug】下所有文件 刪除項目的.ncb文件 打開項目重新編譯完全OK

原创 Assert功能簡介

斷言assert的作用 斷言就是對某種假設條件進行檢查。斷言在 C 語言中被定義爲宏的形式(assert(expression)),而不是函數,在<assert.h>文件中。assert 通過檢查表達式 expression 的值

原创 vc6.0 中報錯#error : "eh.h is only for C++!"

vc6.0 中報錯#error : “eh.h is only for C++!” 原因: 編譯器是依據文件擴展名來判斷是c還是c++語言的,而vc6.0在處理.c 文件是按C 語言編譯的。 報這個錯時說明了程序中要求用到eh.h