#ifndef _unix_lib_memory_hpp
#define _unix_lib_memory_hpp
/* author: piboye
* email : [email protected]
* date : 2006.06.2
*///標頭檔案
#include
#include
namespace unix cmpt;//記憶體比較需要的結果 型別;
mem(void *add,unsigned int len):i_start(add),i_length(len) //add 不可以使用無效指標,但這是使用者的責任;
mem const & operator=(mem const & rhs) // 封裝了void* __cdecl memmove (void*, const void*, size_t); 如果記憶體可以重疊。
mem const & copy(mem const &rhs)// 封裝了 void* __cdecl memcpy (void*, const void*, size_t);記憶體拷貝,記憶體不允許重疊。
mem const & ccopy(mem const &rhs,int ch) // 封裝了 void* __cdecl memccpy (void*, const void*, int, size_t);記憶體拷貝,直到遇到ch字元為止。不會拷貝ch字元,也不會新增'/0'到i_start,記憶體上記憶體不允許重疊。
cmpt compare(mem const& rhs) const //區分大小寫的記憶體比較函式,封裝了int __cdecl memcmp (const void*, const void*, size_t)
cmpt icompare(mem const& rhs) const //忽略大小寫的比較函式,封裝了int __cdecl memicmp (const void*, const void*, size_t)
void* find(int ch) // 查詢ch字元所在的位置,封裝了 void* __cdecl memchr (const void*, int, size_t) 函式
//比較運算子用的是 沒有忽略大小寫的 compare;
#define cmp(op) const/
bool operator op (mem const & rhs) /
cmp(<)
cmp(>)
cmp(==)
cmp(<=)
cmp(>=)
cmp(!=)
#undef cmp
mem const & operator =(char ch) //記憶體初始話為 ch值,封裝了 void* __cdecl memset (void*, int, size_t);
operator void *() const //轉換為位址;
unsigned int length() const //記憶體大小;
void * address() const //返回記憶體位址;
void set(void * ptr,unsigned int len) //重置 記憶體塊;ptr不可以使用無效指標,但這是使用者責任。
}; //mem類定義結束
}// 結束unix名字空間
#endif //檔案_unix_lib_memory_hpp巨集結束
Linux標頭檔案 C C 標頭檔案
linux標頭檔案 c c 標頭檔案。linux常用標頭檔案如下 posix標準定義的標頭檔案 目錄項 檔案控制 檔名匹配型別 路徑名模式匹配型別 組檔案 網路資料庫操作 口令檔案 正規表示式 tar歸檔值 終端i o 符號常量 檔案時間 字元擴充套件型別 internet定義 套接字本地介面 in...
string標頭檔案與cstring標頭檔案
首先說string的標頭檔案 1 包裝了std的c 標頭檔案 2 舊的c標頭檔案 3 舊c標頭檔案的std版本,切記,這不是cstring的標頭檔案 詳見effective c 的第49條 再說cstring的標頭檔案 注 vc9編譯環境下 1 非mfc版本,控制台程式就用這個 2 mfc版本,需要...
C 標頭檔案與C標頭檔案
include 設定插入點 include 字元處理 include 定義錯誤碼 include 浮點數處理 include 檔案輸入 輸出 include 引數化輸入 輸出 include 資料流輸入 輸出 include 定義各種資料型別最值常量 include 定義本地化函式 include ...