C实现快速创建一个大文件

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>


#define MAX_BUFF_SIZE (1024)

int create_big_file(const char * path, int num_gb)
{
    int ret = -1;
    int fd  = -1;
    fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0664);
    if(fd < 0)
    {
        perror("open");
        return -1;
    }
    
    lseek(fd, num_gb*1024LL*1024LL*1024LL-1LL, SEEK_SET);
    write(fd,"",1);

    return 0;
    
}

int main(int argc, const char* argv[])
{
	int ret = 0;
    long long num_gb = 0;
    if(argc < 2)
    {
        fprintf(stderr, "Usage %s <src_file> <num_gb>\n", argv[0]);
        return -1;
    }
    num_gb = atoi(argv[2]);
    
    ret = create_big_file(argv[1], num_gb);
	if(ret != 0)
	{
		fprintf(stderr, "create_big_file error %d\n", ret);
		return ret;
	}
   
    return 0;
}


测试结果

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用Qt可以方便地创建一个txt文档,下面是具体实现步骤: 第一步:在Qt Creater中创建一个项目,并创建一个QPushButton按钮,用于创建txt文档。 第二步:在按钮的槽函数中,使用QFile类创建一个文件对象,并使用QFileDialog类打开文件对话框,让用户选择文件名和路径。代码如下: QString fileName = QFileDialog::getSaveFileName(this, tr("Save Text"), "", tr("Text File (*.txt);;All Files (*)")); QFile file(fileName); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) return; 第三步:使用QTextStream类将要写入的数据流写入文件中。例如,我们可以将一个QString写入文件中。具体代码如下: QString str = "Hello World!"; QTextStream out(&file); out << str; 第四步:关闭文件,释放资源。 file.close(); 最后,我们就成功地创建了一个txt文档。以上就是使用Qt创建txt文档的具体步骤。 ### 回答2: Qt是一个开源的跨平台C++应用程序框架,它提供了丰富的类库、工具和增强的功能,使程序员能够快速高效地开发出功能强大、良好可维护和易于扩展的图形化用户界面应用程序。要在Qt中创建一个txt文档,可以通过以下步骤实现: 1. 引入头文件#include<fstream> 2. 创建一个QString类型的变量用来存储文件名和路径 QString fileName = "C:/users/lenovo/desktop/test.txt"; 3. 创建一个QFile类型的对象,并以只写的方式打开文件 QFile file(fileName); if(!file.open(QIODevice::WriteOnly | QIODevice::Text)){ return; } 4. 使用QTextStream类来进行操作文本的输入和输出 QTextStream in (&file); //定义文件输入流 in<<"hello, world!"; //写入文本字符串 5. 关闭文件 file.close(); 以上就是在Qt中创建一个txt文档的基本步骤,其中,使用QTextStream类是一种流式操作方式,可以方便快捷地进行文本的输入和输出,而且Qt的文件操作函数也非常强大,支持多种数据类型和编码方式,满足了开发者的各种需求。通过Qt,我们可以快速、方便地实现需求的功能,提高开发效率,减少工作量。 ### 回答3: Qt是一个跨平台的C++开发框架,可以用于开发各种应用程序。要创建一个txt文档,可以使用Qt提供的文件操作函数。下面是具体步骤: 1. 在Qt项目中添加一个QPushButton按钮或者其它控件来触发文档创建事件。 2. 在按钮的槽函数中,使用QFileDialog类中的getSaveFileName()函数来获取新文档的保存路径和文件名。其中,QFileDialog是一个可以打开文件对话框的类。 3. 使用QFile类创建一个文件并打开,如果文件已存在则会覆盖原有文件。如果需要追加内容到已有的文件,可以使用open()函数的参数QIODevice::Append。 4. 将需要写入文件的文字内容转换为QString类型,并使用QTextStream类写入到文件中。QTextStream是一个可以读写文件内容的流类。 5. 关闭文件,释放资源。 下面是一个简单的实现示例代码: void MainWindow::on_createButton_clicked() { QString fileName = QFileDialog::getSaveFileName(this, "Save Document", QDir::currentPath(), "Text Files (*.txt)"); if (!fileName.isEmpty()) { QFile file(fileName); if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream stream(&file); stream << "This is a new document!" << endl; file.close(); } } } 上述代码中,当按钮被点击时,会弹出保存对话框,用户可以在该对话框中选择保存路径和文件名。如果用户选择了保存文件,则会在指定路径下创建一个新的txt文件,并将"This is a new document!"这行文字写入到文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值