gpt4 book ai didi

c - 如何多次复制文件以在C中连续制作更大的文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:36 25 4
gpt4 key购买 nike

我需要制作许多大小不一的大型文本文件,精确到兆字节的倍数(换句话说,正好是 10 MB、50 MB、100 MB,我不确定我需要多大去)。

我不希望文件全为 1 或全为 0,因此我有一个大约 10 MB 的文本文件,我想根据需要多次复制该文本以制作我的文件。

我看到过使用 sendfile 代替 read() 和 write() 的建议。我写了一些东西,可以从我的 10MB 文件生成一个 1MB 的文件,但我想知道一旦我点击 EOF 来生成一个超过 10MB 的文件,我该如何循环。

这最终将在 Linux 计算机上使用,但我现在正在用 C 语言的 Cygwin (Windows) 编写它。

最佳答案

如果您已经从头到尾浏览文件并进行复制,那么您所缺少的只是一种返回开头的方法。

当您点击 EOF 时,使用 rewind() :

rewind(file);

file 是您的文件描述符。 rewind()fseek() 的特例:

fseek(file, 0, SEEK_SET); // Same effect

关于c - 如何多次复制文件以在C中连续制作更大的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20155485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com