GetFileSize和cratefile
时间: 2023-05-26 22:02:34 浏览: 50
GetFileSize和CreateFile是Windows API的函数。
GetFileSize函数用于获取指定文件的大小。它需要一个文件句柄作为参数,并返回一个指示文件大小的DWORD值。如果文件大小超过4GB,则该函数应该与GetFileSizeEx函数一起使用。
CreateFile函数用于创建或打开一个文件或设备。它需要一个文件名和一组标志作为参数,并返回一个文件句柄。创建一个新的文件还可以使用它。如果文件已经存在,则可以选择打开文件以进行读写操作。该函数还可以用于创建命名管道、邮件槽和串行通信的句柄。创建文件后,就可以使用一系列Windows API函数对其进行读写、移动或更改。
这两个函数通常一起使用,可以先使用CreateFile创建或打开需要读取大小的文件,然后使用GetFileSize获取其大小,以便进行后续处理。
相关问题
c++ windows GetFileSize()
在 Windows 平台上,可以使用 Win32 API 中的 GetFileSize() 函数来获取文件的大小。该函数的原型如下:
```c++
DWORD GetFileSize(
HANDLE hFile,
LPDWORD lpFileSizeHigh
);
```
其中,`hFile` 参数是文件的句柄,可以使用 CreateFile() 函数来创建文件句柄;`lpFileSizeHigh` 参数是一个指向用于返回文件大小的高 32 位值的指针。如果文件大小不超过 4GB,则将其设置为 NULL。
下面是一个示例代码,演示如何使用 GetFileSize() 函数获取文件大小:
```c++
#include <Windows.h>
#include <iostream>
int main()
{
HANDLE hFile = CreateFile(
"test.txt",
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);
if (hFile == INVALID_HANDLE_VALUE)
{
std::cerr << "Failed to open file!" << std::endl;
return 1;
}
DWORD file_size = GetFileSize(hFile, NULL);
if (file_size == INVALID_FILE_SIZE)
{
std::cerr << "Failed to get file size!" << std::endl;
CloseHandle(hFile);
return 1;
}
std::cout << "File size: " << file_size << " bytes" << std::endl;
CloseHandle(hFile);
return 0;
}
```
在上面的代码中,首先使用 CreateFile() 函数创建文件句柄,然后使用 GetFileSize() 函数获取文件大小。最后,使用 CloseHandle() 函数关闭文件句柄。
把vbs脚本转化成shell脚本 Function getFileSize(fName) If fName="" Then getFileSize = 0 Else getFileSize = 0 End If End Function
以下是将该 VBS 脚本转换为 Shell 脚本的代码:
```
#!/bin/bash
function getFileSize {
if [ -z "$1" ]; then
echo "0"
else
echo "0"
fi
}
```
请注意,由于 Shell 和 VBS 语言的差异,该脚本可能无法直接使用。您可能需要根据您的具体需求进行调整。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)