windows api之 getmodulefilename
在開發軟體的過程裡,經常需要把資料儲存到當前執行檔案路徑下面,或者讀取當前執行檔案路徑下的一些配置資訊。這時就需要從當前模組裡獲取所在的目錄路徑,以便進行固定的位置操作檔案。要解決這個需求,就需要呼叫api函式getmodulefilename來獲取模組所在的路徑。
函式功能:該函式為含有指定模組的可執行檔案檢索全路檔名。在windows95中,當應用程式的版本大於可或等於4.0且可得到長檔名,則該函式返回長檔名,否則,僅返回8.3格式的檔名。
函式原型:dword getmodulefilename(hmodule hmodule, lptstr lpfilename, dword nsize);
引數:
hmodule:指向模組的控制代碼,該模組的可執行檔名被請求,如果此引數為null,則函式getmodulefilename返回用來建立呼叫程序的檔案路徑。
lpfilename:指向乙個緩衝區的指標,該緩衝區被給定模組的路徑和檔名填充。
nsize:指向乙個緩衝區的字元長度,如果路徑和名的長度超過此範圍,則字串被截斷。
返回值:如果函式呼叫成功,返回值為複製到緩衝區的字串的字元長度;否則,返回值為零。若想獲得更多錯誤資訊,請呼叫getlasterror函式。
#include
#include
main()
實時隨機數的實現c++ _timeb _ftime
struct _timeb ;
time是從utc時間2023年1月1日午夜(00:00:00)起累計的秒數;
millitm是一秒內的毫秒數
dstflag 不為0,說明這是夏令時時間
timezone是utc時間和本地時間的相差分鐘數
利用其中的毫秒。基本上不會有重複的數字出現。
example:
struct _timeb timebuffer;// 定義乙個結構
_ftime(&timebuffer);//初始化timebuffer
srand(timebuffer.millitm); 獲得毫秒
int a=rand();
包含標頭檔案
#include //_ftime 無返回值,但獲得本地的時間資料並且填充進傳遞進來指向時間結構的變數中
#include
例如:#include
#include
#include
#include
main()
char current[36];
char tp[36];
int day=;
struct _timeb timebuffer;
int i,j,k;
_strdate(current);
j=atoi(current);//month
k=atoi(current+3);//day
_ftime(&timebuffer);
strcpy(tp,ctime(&(timebuffer.time)));
printf("%s",tp);
tp[strlen(tp)-1]=0;
i=atoi(strrchr(tp,' '));//year
printf("%d/n",i);
return 0;
spring的一些總結1
spring是乙個service層的框架.spring的主要技術是 ioc di aop ioc di 控制反轉 依賴注入 aop 面向切面程式設計 ioc稱之為控制反轉,簡單來說就是將物件的建立的權利及物件的生命週期的管理過程交由spring框架來處理,從此在開發過程中不再需要關注物件的建立和生命...
一些核心模組函式 1
給乙個給定的addr,要是這個addr在某個模組的 位址空間 中,則返回指向該模組的指標 struct module module address unsigned long addr return null 給乙個給定的addr,要是這個addr在某個模組的 text段,也就是 段 中,則返回指向...
虛函式的一些總結
虛函式與虛函式表 1 每個類只有乙個虛函式表 如 cout int int bb1 其中對於 cout int int bb1 bb1是取得物件的首位址,因為含有虛函式的物件中的首位址儲存的是虛指標的位址,所以 bb1就是虛指標的位址 int bb1是將虛函式的位址解釋為int型別 int bb1 ...