首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Borland C++ Builder VCL 核心庫函數速查手冊:內存、文件、磁盤、字符串、數值與時間

     編輯:更多程式設計知識

Borland C++ Builder 的 VCL(Visual Component Library)提供了豐富的底層運行時函數,涵蓋內存管理、文件操作、磁盤查詢、字符串處理、數值轉換與日期時間等核心領域。本文整理為分類速查手冊,附帶函數原型與用途說明,方便開發者快速檢索。

一、內存管理函數

函數原型說明
AllocMemvoid * __fastcall AllocMem(Cardinal Size);分配指定字節內存並歸零初始化
SysFreeMemint __fastcall SysFreeMem(void * P);釋放指定內存塊
SysReallocMemvoid * __fastcall SysReallocMem(void * P, int Size);重新分配內存大小

二、文件操作函數

函數原型說明
FileOpenint __fastcall FileOpen(const AnsiString FileName, int Mode);打開文件,成功返回句柄,失敗返回 -1
FileCreateint __fastcall FileCreate(const AnsiString FileName);創建新文件,返回句柄或 -1
FileReadint __fastcall FileRead(int Handle, void *Buffer, int Count);讀取指定字節到緩衝區,返回實際讀取字節數
FileWriteint __fastcall FileWrite(int Handle, const void *Buffer, int Count);寫入緩衝區數據到文件,返回寫入字節數或 -1
FileSeekint __fastcall FileSeek(int Handle, int Offset, int Origin);移動文件指針,返回新位置或 -1
FileClosevoid __fastcall FileClose(int Handle);關閉文件句柄
FileAgeint __fastcall FileAge(const AnsiString FileName);獲取文件時間戳,失敗返回 -1
FileExistsbool __fastcall FileExists(const AnsiString FileName);判斷文件是否存在
FileGetDateint __fastcall FileGetDate(int Handle);獲取 DOS 日期時間戳
FileSetDateint __fastcall FileSetDate(int Handle, int Age);設置 DOS 日期時間戳
FileGetAttrint __fastcall FileGetAttr(const AnsiString FileName);獲取文件屬性
FileSetAttrint __fastcall FileSetAttr(const AnsiString FileName, int Attr);設置文件屬性
FindFirstint __fastcall FindFirst(const AnsiString Path, int Attr, TSearchRec &F);查找首個匹配文件,成功返回 0
FindNextint __fastcall FindNext(TSearchRec &F);繼續查找下一個匹配文件
FindClosevoid __fastcall FindClose(TSearchRec &F);釋放查找資源
DeleteFilebool __fastcall DeleteFile(const AnsiString FileName);刪除文件
RenameFilebool __fastcall RenameFile(const AnsiString OldName, const AnsiString NewName);重命名文件
ChangeFileExtAnsiString __fastcall ChangeFileExt(const AnsiString FileName, const AnsiString Extension);修改擴展名
ExtractFilePathAnsiString __fastcall ExtractFilePath(const AnsiString FileName);提取路徑(含反斜槓)
ExtractFileDirAnsiString __fastcall ExtractFileDir(const AnsiString FileName);提取目錄(不含反斜槓)
ExtractFileDriveAnsiString __fastcall ExtractFileDrive(const AnsiString FileName);提取驅動器
ExtractFileNameAnsiString __fastcall ExtractFileName(const AnsiString FileName);提取文件名+擴展名
ExtractFileExtAnsiString __fastcall ExtractFileExt(const AnsiString FileName);提取擴展名(含點)

三、磁盤管理函數

函數原型說明
DiskFreeint __fastcall DiskFree(Byte Drive);獲取剩餘空間(字節),失敗 -1
DiskSizeint __fastcall DiskSize(Byte Drive);獲取總空間(字節),失敗 -1
GetCurrentDirAnsiString __fastcall GetCurrentDir();獲取當前工作目錄
SetCurrentDirbool __fastcall SetCurrentDir(const AnsiString Dir);設置當前工作目錄
CreateDirbool __fastcall CreateDir(const AnsiString Dir);創建目錄
RemoveDirbool __fastcall RemoveDir(const AnsiString Dir);刪除空目錄

四、字符串函數(AnsiString / C 風格雙軌)

分類代表函數用途
大小寫轉換UpperCase, LowerCase, StrUpper, StrLowerAnsiString / char* 大小寫互轉
比較CompareStr, CompareText, StrComp, StrIComp, StrLComp區分/不區分大小寫比較,可指定長度
長度/指針StrLen, StrEnd, StrBufSize獲取長度、結尾指針、緩衝區大小
複製/移動StrCopy, StrECopy, StrLCopy, StrMove, StrPCopy, StrPLCopy各類複製策略,支援 AnsiString 源
連接StrCat, StrLCat字符串拼接,可限制長度
查找StrScan, StrRScan, StrPos字符/子串查找(首次/末次/子串)
內存管理StrAlloc, StrNew, StrPas分配、複製到堆、轉 AnsiString

五、數值轉換函數

函數原型說明
IntToStrAnsiString __fastcall IntToStr(int Value);整數 → 字符串
IntToHexAnsiString __fastcall IntToHex(int Value, int Digits);整數 → 十六進制字符串(指定位數)
StrToIntint __fastcall StrToInt(const AnsiString S);字符串 → 整數,失敗拋 EConvertError
StrToIntDefint __fastcall StrToIntDef(const AnsiString S, int Default);字符串 → 整數,失敗返回默認值
FloatToStrAnsiString __fastcall FloatToStr(Extended Value);浮點數 → 字符串
StrToFloatExtended __fastcall StrToFloat(const AnsiString S);字符串 → 浮點數
FloatToStrFAnsiString __fastcall FloatToStrF(Extended Value, TFloatFormat Format, int Precision, int Digits);格式化浮點數輸出

六、日期時間函數(基於 TDateTime)

函數原型說明
DateTDateTime __fastcall Date(void);當前日期
TimeTDateTime __fastcall Time(void);當前時間
NowTDateTime __fastcall Now(void);當前日期時間
DateTimeToStringvoid __fastcall DateTimeToString(AnsiString &Result, const AnsiString Format, TDateTime DateTime);按格式轉字符串
DateToStrAnsiString __fastcall DateToStr(TDateTime Date);日期 → 字符串
TimeToStrAnsiString __fastcall TimeToStr(TDateTime Time);時間 → 字符串
DateTimeToStrAnsiString __fastcall DateTimeToStr(TDateTime DateTime);日期時間 → 字符串
StrToDateTDateTime __fastcall StrToDate(const AnsiString S);字符串 → 日期
StrToTimeTDateTime __fastcall StrToTime(const AnsiString S);字符串 → 時間
StrToDateTimeTDateTime __fastcall StrToDateTime(const AnsiString S);字符串 → 日期時間
DateTimeToSystemTimevoid __fastcall DateTimeToSystemTime(TDateTime DateTime, _SYSTEMTIME &SystemTime);轉 Windows SYSTEMTIME
SystemTimeToDateTimeTDateTime __fastcall SystemTimeToDateTime(const _SYSTEMTIME &SystemTime);Windows SYSTEMTIME → TDateTime

使用提示

  • VCL 函數多以 __fastcall 約定導出,參數傳遞效率較高
  • AnsiString 為 VCL 核心字符串類型,自動管理內存,優先使用其方法(如 UpperCase)而非 C 風格函數
  • 文件操作函數返回 -1 表示失敗,調用後務必檢查
  • 日期時間建議統一使用 TDateTime 運算,避免手動拆解年月日
  • 跨平台項目請改用標準 C++17 <filesystem>、<chrono> 等現代庫

總結

本手冊涵蓋 VCL 核心運行時函數的六大類別,共 60+ 個常用函數。建議收藏備查,實際開發中結合 IDE 代碼提示(Ctrl+Space)可進一步提升效率。隨著 C++Builder 版本迭代,部分函數可能有增補或棄用,請以官方文檔為準。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved