阅读量:0
在C++中,你可以使用truncate()
函数来实现文件大小限制
#include<iostream> #include <fcntl.h> #include <unistd.h> #include <sys/stat.h> #include <cstring> int main() { const char *file_path = "example.txt"; off_t max_size = 1024; // 设置最大文件大小为1KB int fd = open(file_path, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); if (fd == -1) { std::cerr << "Error opening file: "<< strerror(errno)<< std::endl; return 1; } // 将文件截断到指定大小 if (ftruncate(fd, max_size) == -1) { std::cerr << "Error truncating file: "<< strerror(errno)<< std::endl; close(fd); return 1; } // 关闭文件描述符 close(fd); std::cout << "File size has been limited to "<< max_size << " bytes."<< std::endl; return 0; }
这个示例程序首先打开一个名为example.txt
的文件(如果不存在,则创建它)。然后,它使用ftruncate()
函数将文件大小限制为1KB。最后,关闭文件描述符。
请注意,这个示例仅适用于UNIX和类UNIX系统(如Linux和macOS)。在Windows上,你需要使用_chsize()
函数来实现类似的功能。