请输入您要查询的百科知识:

 

词条 GetCurrentDirectory
释义

VB声明

Declare Function GetCurrentDirectory Lib "kernel32" Alias "GetCurrentDirectory" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

说明

在一个缓冲区中装载当前目录

返回值

Long,装载到lpBuffer的字节数。如nBufferLength的长度不够,不足以容纳目录,则返回值是必要的缓冲区长度(要求至少这个长度),其中包括空中止字符。零表示失败。会设置GetLastError

参数表

参数 类型及说明

nBufferLength Long,lpBuffer缓冲区的长度

lpBuffer String,指定一个预定义字串,用于装载当前目录

VC声明

DWORD GetCurrentDirectory(

DWORD nBufferLength, // size of directory buffer

LPTSTR lpBuffer // directory buffer

);

函数功能

获取当前进程的当前目录

参数说明

参数 类型及说明

nBufferLength 缓冲区的长度

lpBuffer 指定一个预定义字串,用于装载当前目录

返回值

调用成功 返回装载到lpBuffer的字节数。

如nBufferLength的长度不够,不足以容纳目录,则返回值是必要的缓冲区长度(要求至少这个长度),其中包括空中止字符。零表示失败。使用GetLastError函数可获得错误信息

Ada声明

函数定义于WIN32库,当然,也可以自己在需要时随时创建声明,声明如下:

type DWORD is mod 2**32; -- DWORD是无符号32位类型

function GetCurrentDirectory(

nBufferLength:DWORD; -- 指定目录缓冲的长度(多少字节)

lpBuffer:access character -- 给定字符串首个字符的访问值(指针)

) return DWORD;

pragma import(stdcall,GetCurrentDirectory,"GetCurrentDirectoryA"); -- 从库中导入该函数

们接着来创建一个Ada版本的函数。

function getCurrentDirectory return string is

function getCurrentDirectory(nBufferLength:DWORD;lpBuffer:access character) return DWORD;

pragma import(stdcall,getCurrentDirectory,"GetCurrentDirectoryA");

len:dword:=getCurrentDirectory(0,null); -- 首先利用系统函数来获取必要的字符串长度

s:string(1..integer(len));

begin

len:=getCurrentDirectory(len,s(1)'unrestricted_access);

return s(s'first..s'last-1); -- C字符串以NUL结尾,去除

end getCurrentDirectory;

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/31 14:04:50