我正在尝试创建一个文件并通过系统调用操作将 256 MB 大小的随机字符复制到其中,我只是不明白该怎么做。
显然我需要文件是 txt 文件,所以当我尝试使用带有 O_RDWR 标志的creat函数但它没有创建 txt 文件时,这是我无法打开的未知文件。我在网上看到一个PERMS的东西,我不明白。这是我到目前为止写的:
char buff[1024*1024];
j=0;
for (i=0;i<(1024*1024);i++){
if (j==256) j=0;
buff[i]='a'+j;
j++;
}
fd= open(argv[1], O_RDWR);
if (fd < 0) {
fd= creat(argv[1],O_RDWR);
for (i=0; i<256; i++) {
write(fd, buff, 1024*1024);
}
它确实创建了文件,但它不可访问且大小为 0。