21xrx.com
2024-12-22 17:55:55 Sunday
登录
文章检索 我的文章 写文章
C++如何获取文件大小?
2023-07-01 18:55:27 深夜i     --     --
C++ 文件大小 获取

在C++中,获取文件大小是一项非常常见的操作。 确定文件大小通常可以帮助我们更好地了解我们的文件以及如何在代码中使用它。

在C++中获取文件大小的方法主要有两种:一种是用标准库函数,另一种是使用操作系统的API。

使用标准库函数获取文件大小的函数是`std::ifstream::seekg`和`std::ifstream::tellg`。 具体来说,`seekg`函数用于将文件指针移动到指定位置,而`tellg`函数返回当前位置。 因此,可以通过将文件指针移动到文件尾部,然后返回文件指针的位置来获取文件的大小,代码如下:


#include <iostream>

#include <fstream>

int main() {

  std::ifstream file("example.txt", std::ifstream::binary);

  file.seekg(0, file.end);

  int fileSize = file.tellg();

  file.close();

  std::cout << "The size of the file is: " << fileSize << " bytes.\n";

  return 0;

}

这段代码打开名为“example.txt”的文件,将文件指针移动到文件末尾,并返回文件指针的位置,从而得到文件的大小。

另一种方法是使用操作系统的API函数`GetFileSize`,它可用于确定文件的大小。 使用这种方法需要包含Windows.h头文件,然后调用`GetFileSize`函数,代码如下:


#include <Windows.h>

#include <iostream>

int main() {

  HANDLE fileHandle = CreateFile("example.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

  DWORD fileSize = GetFileSize(fileHandle, NULL);

  CloseHandle(fileHandle);

  std::cout << "The size of the file is: " << fileSize << " bytes.\n";

  return 0;

}

这段代码打开名为“example.txt”的文件,并调用`GetFileSize`函数,直接得到文件大小。

总体来说,在C++中获取文件大小主要有两种方法:使用标准库函数或操作系统的API函数。 无论哪种方法,都可以很简单地帮助我们确定文件的大小,从而更好地处理文件。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复