前言:我已将问题简化为其关键功能,所以如果听起来很奇怪,那是因为这是整个程序的一个小方面。创建一个随机大小的文件[1 ... 500] KB
问题:
我想创造一些像100个的文本文件:我会循环,用我的循环计数器来命名文件。
然后,我想用随机字符串填充每个文件。我用下面定义的字符串敲击这个。我想从[1KB到500KB]填充文件。
struct String // And yes I am using my own String library.
{
char *c;
int length;
int maxLength;
}
让我们假设我打开了文件(可能此刻我创建它,所以它是空的)。现在我会检查这样的事情。
int range = Random.Range(0,500);
我会得到一个预先确定文件大小的数字。因此,如果range == 100
那么该文件将填充100KB的“数据”。
我会先创建我的字符串。
// Maybe making this 100 chars would help?
String *s1 = makeString("abcdefghijklmnopqrstuvwxyz");
我怎么会想出多少次,我有我的字符串s1
写入到文件,以使其成为range
的大小?最好在写入文件之前,我不想先写入然后再检查,然后重新写入。
而我将如何获得C中的随机整数值?我习惯了C#中的Random.Range。
您的意思是preferred-file-size除以字符串长度:'range * 1000/s1-> length;'? – Kninnug
为了简化问题,请确保您的字符串的大小为1024,这是千字节中的字节数。您需要编写字符串'((范围* 1024)/ s1->长度'以获得所需的文件大小。 – naitoon