Time of Update: 2018-12-03
可以判應用程式檔案夾下是否有.net環境的檔案夾來解決。int main(int argc, char* argv[]){char winDir[256]={0};GetWindowsDirectory(winDir, 256);//strcat(winDir,"//Microsoft.Net//");printf("%s/n",winDir);//test .net exist.char tcProgramFile[MAX_PATH] = {0};SHGetSpecialFolderPath(
Time of Update: 2018-12-03
以前學c#只知道它包含控制台程式和windows應用表單程式,大致知道windows應用表單程式可以產生。EXE檔案,認為控制台只是用來做某些測試用的東西。今天才發現原來控制台的應用並不比windows應用表單程式的應用少。只是以前不知道罷了,知道控制台程式可以做介面的應用讓我眼前為之一震,覺得這個東西比較好玩打消了以前淺顯的認識。雖然在做程式時在技術上遇到了很大的困難,但是技術上的問題可以解決,培養對c#的興趣才是最重要的。有了興趣才有學習的動力,技術方面可以慢慢的積累,就像做這個計算機的小程
Time of Update: 2018-12-03
private void button2_Click(object sender, EventArgs e) { DirDG(treeView1.Nodes.Add(@"F:/我的項目", "我的項目")); } //以節點的形式擷取的所有目錄檔案 void DirDG(TreeNode tn) { try { foreach (string
Time of Update: 2018-12-03
馬上就要找工作了,最近這段時間非常賣力地複習,據說現在各個公司筆試面試都比較重基礎,於是以前一掃而過的東西,現在開始仔細琢磨了。最近的幾篇文章都是記錄我在複習中遇到的一些比較基礎,但是一直忽略的東西,也希望對需要的童鞋有所協助。 using namespace std 大家肯定都非常熟悉了,C++標準程式庫中的所有標識符都被定義於一個名為 std 的 namespace 中,由於 namespace
Time of Update: 2018-12-03
說明:本文主要內容參考了吳秦(Tyler)的部落格,並結合自己的情況,做了一些修改。如果想瞭解更多的規則,請參考吳秦(Tyler)的部落格。 最近在做QT和DVSDK的混合編程,找到了一個嵌入式超聲波檢測儀的例子來學習(MIDAS Ultrasound v3.0 Demo),裡面的標頭檔很多都是類似於如下聲明: 宏 #ifndef 、#define、#endif 的作用大家肯定都非常瞭解了,主要是為了防止在一個項目中,標頭檔被多次包含。本文簡單討論一下
Time of Update: 2018-12-03
之前一直都沒有注意到,最近在用C語言寫DSP演算法時,偶然間發現我函數中定義的bool類型的變數在VC6.0(我主要用它來檢查一下語法錯誤)中編譯居然報錯了,說是bool類型沒有定義。用了這麼久的C和C++了,一直覺得bool這種基本類型,應該是C語言內建的類型,怎麼會沒有定義呢?事實證明,我的想法完全錯誤了。 有了網路,一切問題都變得那麼容易了,我很容易地搜到了相關的解答。
Time of Update: 2018-12-03
最近在複習QT,準備做項目了,QT Creator 預設產生的程式碼 explicit Dialog(QWidget *parent = 0)中,有這麼一個關鍵字explicit,用來修飾建構函式。以前在Windows下寫程式的時候,基本上沒有碰到這個關鍵字,那麼這個關鍵字是做什麼用的呢? 關鍵字 explicit 可以禁止“單參數建構函式”被用於自動類型轉換。光看這一句似乎不太容易明白,下面,舉個簡單地例子。 //main.cpp
Time of Update: 2018-12-03
#include <windows.h>int IsGB(PTSTR pText){ unsigned char sqChar[20]; sqChar[0]=*pText; if (sqChar[0]>=0xa1) if (sqChar[0]==0xa3) return 1;//全形字元 else return 2;//漢字 else return 0;//英文、數字、英文標點}int WINAPI WinMain (HINSTANCE hInstance,
Time of Update: 2018-12-03
1、 概念 Scott Meyers在《More Effective
Time of Update: 2018-12-03
在greenplum/postgresql中,將字串轉換成時間是很方便的,很多種格式的時間,gp都可以自動識別出是否時間字元。如果不是時間或者時間不正確的話,sql會報錯。aligputf8=# select'2011-13-10 10:10:10'::date;ERROR: date/time field value out of range:"2011-13-10 10:10:10"LINE 1: select'2011-13-10 10:10:10'::date;
Time of Update: 2018-12-03
在編程工作中常會遇到在一個“類”中通過函數指標調用成員函數的要求,如,當在一個類中使用了C++標準庫中的排序函數qsort時,因qsort參數需要一個“比較函數”指標,如果這個“類”使用某個成員函數作“比較函數”,就需要將這個成員函數的指標傳給qsort供其調用。本文所討論的用指標調用 “類”的成員函數包括以下三種情況: (1).將 “類”的成員函數指標賦予同類型非成員函數指標,如: 例子1#include <stdlib.h>typedef void (*Function1)
Time of Update: 2018-12-03
在C/C++中我們經常使用sprintf()和snprintf()這兩個函數,前一個函數sprintf()已經被專家提議不要使用,因為有很多有名的緩衝區溢位攻擊就是這個函數引起的, 它的函數原型:(來自於vc8.0) int sprintf( char *buffer, const char *format [, argument] ... ); int swprintf( wchar_t *buffer, const wchar_t
Time of Update: 2018-12-03
C++程式在編譯的時候主要有以下幾個過程: 1. 先行編譯(預先處理):主要是對偽指令(以#開頭的指令)和特殊符號進行處理。 偽指令主要包括: (1)巨集指令:如#define NAME ADU,#undef等。對於第一個指令,先行編譯主要是進行替換,除了NAME字串常量;對於第二個則取消該宏定義,以後出現該宏的地方不進行替換。
Time of Update: 2018-12-03
1. 建構函式一般應用一個建構函式初始化列表來初始化對象的資料成員。2. 建構函式不能為const。3. 可以認為夠在函數分兩個階段執行:(1)初始化階段;(2)普通計算階段,計算階段由建構函式函數體中所有語句組成。4. 不管成員是否在建構函式初始化列表中顯示初始化,類類型的資料成員總是在初始化階段初始化,初始化發生在計算階段開始之前。5. 使用建構函式初始化列表的版本初始化資料成員,沒有定義初始化列表的建構函式版本在建構函式函數體中對資料成員賦值。6.
Time of Update: 2018-12-03
C++ Primer(4 edition) 中文版P407上說:“複製初始化首先使用指定建構函式建立一個臨時對象,然後用複製建構函式將那個臨時對象複製到正在建立的對象。”但我的實驗結果顯示是沒有調用複製建構函式。 我做了個實驗(實驗1),首先寫了一個簡單的類,裡面提供一個預設建構函式,一個接受單個形參的建構函式,一個複製建構函式和一個=重載函數,在上面每個函數中都列印一個訊息,提示這個函數正在被調用。
Time of Update: 2018-12-03
今天在看C++ Primer,寫重載操作運算子練習程式的時候,在成員函數中直接操作形參中同類型對象的private成員,程式如下:OperatorOverload& OperatorOverload::operator=(const OperatorOverload &op){m_nNum1 = op.m_nNum1;//op.getNum1(); m_nNum1為privatem_nNum2 = op.m_nNum2;//op.getNum2();
Time of Update: 2018-12-03
今天在做C++ Primer第14章習題14.37的時候用到了一些STL的函數,徹底顛覆了我對C++的看法。以前總覺得C++很麻煩,實現一個功能總要寫一堆的代碼,很繁瑣,那是菜鳥時候的想法。雖然現在也還是菜鳥,但層級比原來提高了一點,今天使用了STL的演算法之後才知道,原來C++也可以這麼簡潔。 從習題一步步擴充開來講吧,習題如下:習題14.37 使用標準庫函數對象和函數適配器,定義一個對象用於: (a)尋找大於1024的所有值 (
Time of Update: 2018-12-03
起因今天九度刷題的時候,發現一個不調用任何c的庫函數實現字串拼接的代碼很多人寫的過於複雜,鏈表都用上了,真的不至於,只要知道字串的最後截止符是'\0'.題目描述:不借用任何字串庫函數實現無冗餘地接受兩個字串,然後把它們無冗餘的串連起來。輸入:每一行包括兩個字串,長度不超過100。輸出:可能有多組測試資料,對於每組資料,不借用任何字串庫函數實現無冗餘地接受兩個字串,然後把它們無冗餘的串連起來。輸出串連後的字串。範例輸入:abc def範例輸出:abcdef直接上我的AC代碼吧#include
Time of Update: 2018-12-03
1.起因今天在acm刷題的時候,之前的排序演算法一直都是冒泡,可能九度OJ的難度題考察的都是快速排序,導致我都是死在time
Time of Update: 2018-12-03
C語言中String庫函數以下內容摘自《C程式設計教程》(美)H.M.Deitel P.J.Deitel著,薛萬鵬等譯,機械工業出版社。void *memccpy (void *dest, const void *src, int c, size_t n);從src所指向的對象複製n個字元到dest所指向的對象中。如果複製過程中遇到了字元c則停止複製,返回指標指向dest中字元c的下一個位置;否則返回NULL。void *memcpy (void *dest, const void *src,