Time of Update: 2018-12-05
設計思想是先得到當前程式的完全路徑,再去掉本程式的名稱就得到了當前的相對路徑!!希望有更多想法的大家一起分享,一起學習wchar_t* allPathName = new wchar_t[200]; //聲明程式的完整路徑名 GetModuleFileName(NULL,allPathName,200); //得到程式的完整路徑名 wchar_t *exeName;
Time of Update: 2018-12-05
OleLoadPicture 函數實際上建立了一個IPicture類型的COM介面對象,然後我們可以通過這個COM介面來操作圖片(實際上你也可以用API OleCreatePictureIndirect來載入圖片,不過相比而言OleLoadPicture函數簡化了基於流的IPicture對象的創 建),下面是範例程式碼:(註:由於只是用來樣本,代碼中省去了出錯情況的處理) void Cinfo::DisplayImage(HDC hDC, LPCTSTR
Time of Update: 2018-12-05
做一下小型的項目,中間遇到兩個對話方塊之間傳遞資料的問題,由於好久沒用了所有很生疏了,查了好久才查到解決的方法。在此把他總結出來供自己和大家參考; 我的要求是在dlg1中單擊一個button產生dlg2對話方塊,並且在dlg2中要使用dlg1中變數的值 解決方案是:在button響應函數中執行dlg2.DoModal();之前把dlg1的值直接賦值給dlg2的變數,參考代碼如下: Cinfo
Time of Update: 2018-12-05
===============================chapter 2===============================IEEE 802.2/802.3(RFC 1042)和乙太網路的封裝格式(RFC 894)--------------------------------------------------------A類網路號1 2 7是為環回介面預留的。根據慣例,大多數系統把I P地址1 2 7 . 0 . 0 . 1分配給這個介面,並命名為l o c a l h
Time of Update: 2018-12-05
[轉] sdk manage 更新與安裝部落格分類: Android該文章轉自 http://blog.sina.com.cn/s/blog_4a94a0db0100y4h7.html 問題描述使用SDK Manager更新時出現問題Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-6.xml, reason: Connection to https://dl-ssl.google.com
Time of Update: 2018-12-05
今天看面試題目系列二時,碰到了這麼一個題目。剛開始的想了下,以為會跟字串逆轉類似,所以動手寫ReverseList的時候就把它當成字串逆轉處理了。完了後發現是根本不能這麼處理,因為字串指向最後字元的指標pend可以通過pend--來往前進行訪問,但是單鏈表最後的結點卻不能這樣向前訪問,所以這個想法錯誤了!!!後面看了下答案,才知道可以通過指標的操作完成,十分慚愧!!!所以決定記下來,而且這段時間很忙,部落格都沒更新過了……正確方法是定義三個指標,p1 = head;p2 =
Time of Update: 2018-12-05
本文想說的是k=2的這種特殊情況。對於k是其他值,我想到的最直接的方法就是,將數組data排序,然後返回第k大的數就可以了。對於k=2情況的處理如下:int Find(int data[],int n){ int sec_num = -32767; int i; int max = data[0]; //假定第一個數是最大值 for(i = 1; i < n; ++i) { if(data[i] >
Time of Update: 2018-12-05
/** * 問題:一本書的頁碼是從自然數1開始編碼到n的。每個頁碼沒有前置0,即第6頁編碼為6,而不是<br> * 06,或者006.數字計數問題的要求是對給定書的總頁碼n,計算出書的全部頁碼中分別用刀的多少次<br> * 0,1,……9.。1<=n<=10^9。 * 思路:對於一個數字t(0<=t<=9),分別考慮個位、十位……到n的最高位,這些位為t的數的個數,再分<br> * 別加起來,就是所有頁碼中t的個數了 * <br&
Time of Update: 2018-12-05
在論壇看到一個問題,關於字元的溢出。如下 char a = 100;char b = 200;char c = a + b;這裡a,b,c都是有符號的字元類型,所以範圍是-128-127。因此b肯定是溢出的,現在的關鍵是溢出後b中實際儲存的值是多少??? 這裡來分析下: 在一般的32位機器上,200=0x000000c8,將200賦給char
Time of Update: 2018-12-05
Bash的一些快速鍵Ctrl + A : 游標移到行首。Ctrl + E : 游標移到行尾。Ctrl + L : 清屏。Ctrl + U : 清除游標前至行首間的所有內容。Ctrl + H : 同 backspace 鍵相同。Ctrl + R : 搜尋之前打過的命令。Ctrl + C : 殺死當前進程。Ctrl + D : 退出當前 Shell。Ctrl + Z : 把當前進程轉到後台運行,使用' fg '命令恢複。Ctrl + W : 移除游標前的一個單詞Ctrl + K :
Time of Update: 2018-12-05
實現一個函數檢查一棵樹是否平衡。平衡指的是這棵樹任意兩個葉子結點到根結點的距離之差不大於1。struct Node{Node(){value = 1;left = right = NULL;}int value;Node *left;Node *right;};int max = 0;int min = 0;int maxHeight(Node *root){ if (root == NULL){return 0;}int leftHeight =
Time of Update: 2018-12-05
給定一個有序數組(遞增),寫程式構建一棵具有最小高度的二叉樹。struct Node{int value;Node *left;Node *right;};void createTree(int a[], int begin, int end, Node* &root, Node *parent, bool leftChild){if (begin > end){return;}int mid = begin + (end-begin)/2;Node *p = new Node()
Time of Update: 2018-12-05
求正數數組內和為指定數位組合總數比如[5, 5, 10, 2, 3] 合并值為 15 :有4種組合 : (5 + 10, 5 + 10, 5 + 5 + 2 + 3, 10 + 2 + 3)只需輸出組合總數即可,不需列印組合內容。int fun(int a[], int n, int m){int **buf = new int*[n];for (int i = 0; i < n; i++){buf[i] = new int[m+1];}for (int i = 1; i <= m;
Time of Update: 2018-12-05
迴文字串是指從左至右和從右至左相同的字串,現給定一個僅由小寫字母組成的字串,你可以把它的字母重新排列,以形成不同的迴文字串。 輸入:非空僅由小寫字母組成的字串,長度不超過100; 輸出:能組成的所有迴文串的個數(因為結果可能非常大,輸出對1000000007取餘數的結果)。 例如:輸入"aabb" 輸出為2(因為“aabb”對應的所有迴文字串有2個:abba和baab)#include <iostream>#include <string>using namespace
Time of Update: 2018-12-05
A和B是兩個有序數組(假設為遞增序列),而且A的長度足以放下A和B中所有的元素, 寫一個函數將數組B融入數組A,並使其有序。void merge(int a[], int b[], int n, int m){int k = m+n-1;int p = n-1;int q = m-1;while (p >= 0 && q >= 0){if (a[p] > b[q]){a[k--] = a[p--];}else{a[k--] = b[q--];}}while
Time of Update: 2018-12-05
給定運算式[x/2] + y + x * y, 其中x,y都是正整數。其中的中括弧表示下取整,例如[3/2] = 1 , [5/2] = 2。 有些正整數可以用上述運算式表達出來,例如正整數2,當取x = y = 1時,可以把2表達出來 ( 解釋下:當x=y=1時, [x / 2] + y + x * y = [1 / 2] + 1 + 1 * 1 = 0+1+1 = 2 ); 有些數可以有多種方式表達,例如13可以由 x = 2 y = 4 以及x = 3 y = 3來表示;
Time of Update: 2018-12-05
1、下載,我是在http://www.xpblue.com/down/11486.html下載的,http://sourceforge.net/projects/wtl也可以,不過我沒開啟。2、下載的檔案是一個自解壓檔案,解壓到任意目錄,我是解壓到d:/wtl80,80為版本號碼,面有幾個子目錄samples, include, AppWizMobile, AppWizCE,
Time of Update: 2018-12-05
態控制項是指在需要時由Create()建立的控制項,這與預先在對話方塊中放置的控制項是不同的。一、建立動態控制項:為了對照,我們先來看一下靜態控制項的建立。放置靜態控制項時必須先建立一個容器,一般是對話方塊,這時我們在對話方塊編輯視窗中,從工具視窗中拖出所需控制項放在對話方塊中即可,再適當修改控制項ID,設定控制項屬性,一個靜態控制項就建立好了,當對話方塊被顯示時,其上的控制項也會顯示。靜態控制項不需要調用Create()函數來建立。而建立動態控制項有很大不同,以下以按鈕為例,看一下動態控制項的
Time of Update: 2018-12-05
終極解決方案:VS2010在經曆一些更新後,建立Win32 Console Project時會出“error LNK1123” 錯誤,解決方案為將 項目|項目屬性|配置屬性|清單工具|輸入和輸出|嵌入清單 “是”改為“否”即可,但是沒建立一個項目都要這樣設定一次。在建立VS2010 Win32 Project項目時,按照上面解決方案依然發生了“error LNK1123”錯誤,經過上網查資料,解決方案為:第一步:與上相同。第二步:將 項目|項目屬性|配置屬性|連接器|資訊清單檔|嵌入清單 “是”
Time of Update: 2018-12-05
這幾個函數中,最難的要數memmove這個函數了。memmove的原型是memmove(void *dst,void *src,int count)。因為這個函數需要考慮到dst和src都是指向同一個字串中不同位置的問題。所以在這裡需要對於這種情況作出判別。具體注釋見原始碼:#include stdio.h>#include string.h>void *memmove(void *dest,const void *src,size_t count){ void