Time of Update: 2018-12-07
Abstract通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行讀取。Introduction使用環境:Windows XP SP3 + Visual C++ 6.0 SP6將讀取wf.bin的0x13 byte處的值。Method 1:使用fsetpos()fsetpos.c / C 1 /* 2 (C) OOMusou 2011 http://oomusou.cnblogs.com 3
Time of Update: 2018-12-07
Abstract通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行讀取,且連續幾個byte表示某一數值資訊。Introduction使用環境:Windows XP SP3 + Visual C++ 6.0 SP6將讀取wf.bin的0x04 byte處的連續4 byte值。Method 1:使用char arrayReadNByte1.c / C 1 /* 2 (C) OOMusou 2011
Time of Update: 2018-12-07
Abstract在(原創) 如何將字串前後的空白去除? (使用string.find_first_not_of, string.find_last_not_of) (C/C++) (STL) 中已經可順利將字串前後的空白去除,且程式相當的精簡,在此用另外一種方式達到此要求,且可同時將whitespace去除,並且使用template寫法。Introduction原來版本的程式在VC8可執行,但無法在Dev-C++執行,目前已經修正。stringTrim1.cpp / C++1 /* 2 (C)
Time of Update: 2018-12-07
Abstract若用C語言配合迴圈,這是個很簡單的題目,但若用C++配合STL,則有很漂亮的寫法。Introduction陣列中有2、3、1、3、5五個值,希望能列出大於2的所有元素。C++1 /* 2 (C) OOMusou 2008 http://oomusou.cnblogs.com3 4 Filename : GenericAlgo_remove_copy_if_predicate.cpp5 Compiler : Visual C++ 8.06 Description :
Time of Update: 2018-12-07
雙重檢測鎖(Double-Checked Locking)實現的Singleton模式在多線程應用中有相當的價值。在ACE的實現中就大量使用ACE_Singleton模板類將普通類轉換成具有Singleton行為的類。這種方式很好地消除了一些重複代碼臭味,而且,最佳化後的效能較標準互斥版本提高15倍[1]。最近在用C++/CLI做一些工作,Singleton不可避免地需要用到,於是我又製造了一次車輪
Time of Update: 2018-12-07
Abstractstrtok()的簡單使用範例。Introduction使用環境 : Visual Studio 2008strtok.c / CCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1 /* 2 (C) OOMusou 2009 http://oomusou.cnblogs.com3 4 Filename :
Time of Update: 2018-12-07
Abstract設定暫存器值是寫firmware時最常見的控制,本文歸納出C語言在寫firmware時常見的編程技巧,並與Verilog相互對照。Introduction本文將討論以下主題:1.將某bit強制設為12.將某bit強制設為03.將某bit做toggle (0變1,1變0)4.判斷某bit是否為15.判斷某bit是否為01.將某bit強制設為1C語言flag |= mask;或flag |= (1 << n);Verilogflag[n] =
Time of Update: 2018-12-07
Abstract由於C#的乾淨俐落與Visual Studio工具的增強,越來越多人選擇用C#開發GUI而捨棄MFC,但以前已經有太多程式使用Visual C++ 6.0與MFC開發,一時之間又不可能將C/C++的code全部用C#改寫,所以將原本用C/C++寫的Business Rule整理成DLL給C#使用也是個不錯的選擇。Introduction使用環境:Visual Studio 2008Step 1:使用Visual Studio
Time of Update: 2018-12-07
Abstract通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行寫入。Introduction使用環境:Windows XP SP3 + Visual C++ 6.0 SP6將在wf.bin的0x33 byte處寫入0xAC值。WriteByte.c / C 1 /* 2 (C) OOMusou 2011 http://oomusou.cnblogs.com 3 4 Filename
Time of Update: 2018-12-07
/***********write by myself***********//***********begin test file***********/#include <iostream>#include <string>int main(){ std::string str1 = " hello world! "; std::string trimstring = " "; std::cout << "str = \"" <<
Time of Update: 2018-12-07
Abstract通常公司為了保護其智慧財產權,會自己定義檔案格式,其header區會定義每個byte各代表某項資訊,所以常常需要直接對binary檔的某byte直接進行寫入,且連續寫入幾個byte表示某一數值資訊。Introduction使用環境:Windows XP SP3 + Visual C++ 6.0 SP6將寫入wf.bin的0x33 byte處的連續4 byte值。 1 /* 2 (C) OOMusou 2011 http://oomusou.cnblogs.com 3 4
Time of Update: 2018-12-07
Abstract迴文是學習C語言時,常出現的作業與考題。Introduction所謂迴文,就事字串的第一個字元等於最後一個字元,第二個字元等於倒數第二個字元。palindrome.c / CCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1 /* 2 (C) OOMusou 2008
Time of Update: 2018-12-07
這在字串處理是很常用的功能,.NET Framework的String class直接提供Trim()的method,其它語言也大都有提供(VB、VFP),但C++無論Standard Library或STL都找不到相對應方法,以下的方式是由希冀blog中的C++中如何去掉std::string對象的首尾空格 改編而來,加上了pass by
Time of Update: 2018-12-07
Abstract一個很常見的需求:『將struct塞進vector』,在C++該怎麼做呢?Introduction使用環境:Visual C++ 9.0 / Visual Studio 2008由於vector只允許一個欄位,所以才會想將struct塞進vector,以彌補vector的不足。struct_in_vector.cpp / C++Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
原文地址:http://hi.baidu.com/onlys_c/blog/item/7d0dc7f70e413829720eec2a.html 基本解釋 const是一個C語言的關鍵字,它限定一個變數不允許被改變。使用const在一定程度上可以提高程式的健壯性,另外,在觀看別人代碼的時候,清晰理解const所起的作用,對理解對方的程式也有一些協助。雖然這聽起來很簡單,但實際上,const的使用也是c語言中一個比較微妙的地方,微妙在何處呢?請看下面幾個問題。 問題:const變數 &
Time of Update: 2018-12-07
Abstract前一篇(原創) 如何使用C語言的標準函式庫進行排序? (C)談到使用C語言stdlib.h的qsort()對array進行排序,C++呢?STL也提供了sort() algorithm。IntroductionSTL的sort()不僅僅支援array,還支援其餘的container如vector,list等,這也是泛型之美,container和algorithm徹底decouple,讓algorithm可以支援各種container,達到最大的reuse,由於STL是C++ 98
Time of Update: 2018-12-07
一、什麼是對齊,以及為什麼要對齊:1.
Time of Update: 2018-12-07
Abstract若需要將程式碼放進word交報告或做檔案時,或許我們會想將程式碼加上行號方便講解,如同部落格園顯示程式碼那樣,我們該如何做呢?Introduction使用環境:Visual C++ 9.0 / Visual Studio 2008一段C++的小程式,可以幫程式碼加上行號後輸出。map_code_line.cpp / C++1 /* 2 (C) OOMusou 2008 http://oomusou.cnblogs.com3 4 Filename :
Time of Update: 2018-12-07
Abstractfor_each()是STL中少數可以回傳值的algorithm,此範例在展示for_each()此特殊功能與function object可以留住state的特性。Introductionfunction object與global function的差別除了function object可以傳入參數外,還可以不使用static就可以留住state。一個簡單的需求,想要每印n個數字就換行,並且統計出所有iterator的和,所以function
Time of Update: 2018-12-07
Abstract STL並沒有提供這樣的algorithm,透過簡單的方法,就可以達成這個需求。Sample