原创 遇到一個詭異的regedit.exe程序問題
最近在調試一個註冊表操作相關的程序。調試註冊表寫入代碼時發現了一件奇怪的事情。用RegSetValue API執行註冊表寫入操作,該函數返回執行成功,但是通過regedit.exe查看註冊表時卻發現內容沒有被修改(重新啓動regedi
原创 windows API練習(2)多字節編碼轉UNICODE編碼
wstring MtbToWstr( const string& str, UINT uCodePage = CP_ACP ) { LPWSTR lpwszWide = NULL; DWORD cbszWide = 0U; DWOR
原创 windows錯誤碼返回文本信息的封裝類
寫個實用的小類,用於輸出win的錯誤碼文本信息,因爲直接使用FormatMessage確實會繁瑣一點。所以將類設計成函數對象的形式。默認以英文、方式輸出,省去了自己設定語言類別的麻煩。當然自己可以設定語言類
原创 從floyd算法學習動態規劃
floyd的相關概念看這裏。 floyd的代碼實現其實很簡單: void floyd() { for(k=0;k<n;k++) for(i=0;i<n;i++) fo
原创 迅雷2008實習生筆試題C++卷題解
具體題目從我上傳的資源上下。http://download.csdn.net/source/6825641.C 2.D 3.題目有誤 4.B 5.D 6.題目有誤 7.A 8.B 9.B 10.B 11.D(題目有誤,少打了%
原创 我的AVL樹代碼實現(歡迎測試)
#include <iostream>using namespace std;template <typename T>class AVLNode ...{public : AVLNode() : bal(0), height
原创 排序算法代碼---插入排序
#include <stdio.h> void insertionSort(int A[], int len); void show(int A[], int len); int main() { int A[] = {1, 3, 2,
原创 查找鏈表倒數第N個結點的地址(C++)
/**//* * Author : roof */#include <stdio.h>template <typename Elm>struct Node ...{ Elm elm; Node* next;};templat
原创 windows API練習(1)返回錯誤碼字符串的函數
#include <windows.h> #include <string> using std::wstring; wstring GetErrIDMsg( DWORD dwError ) { HLOCAL hlocal = N
原创 對集合中元素,求是否存在兩個元素之和大小爲X的兩種做法
一、二分法 步驟: 1、將集合元素拷貝到數組A(在這裏假設集合元素非隨機存儲) 2、對A進行排序 3、遍歷A[1..N-1],對A[i+1..N]元素進行二分查找,查找元素爲X-A[i] 二、哈希法 步驟 1、初始化哈希表爲空
原创 排序算法代碼---歸併排序
#include <stdio.h> void mergeSort(int A[], int len); void show(int A[], int len); int main() { int A[] = {1, 3, 2, 5,
原创 用命名內核對象防止windows同時運行兩個程序
利用創建命名內核對象的方法可以防止同時運行程序,由於可能其他人寫的程序用的命名會與自己的重複,所以建議採用唯一的GUID。以下代碼根據《winows核心編程》整理。#include <windows.h>#