原创 遇到一個詭異的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>#