Tag: zerofill

在Objective-C中保存空白文件

我正在研究一个代码,除其他外,必须保存一个零填充文件。 它可以创建一个10MB到1GB空白的文件。 它必须类似于这个Unix命令: dd if=/dev/zero of=my_image.dsk count=20480 我可以做一个小尺寸的工作: int totalSize = 1024*1024; char buf[totalSize]; strcpy(buf,””); NSData *theData = [NSData dataWithBytes:buf length:sizeof(buf)]; //NSLog(@”%@”, theData); NSLog(@”%lu”, sizeof(buf)); [theData writeToFile:@”/Users/foo/Desktop/my_image.dsk” atomically:YES]; 但是,如果我尝试更大的值(例如1024 * 1024 * 10),它会崩溃。 所以我尝试过: NSFileManager *ddd = [[NSFileManager alloc ] init]; [ddd createFileAtPath:@”/Users/foo/Desktop/my_image.dsk” contents:[NSData data] attributes:nil]; 它创建一个空文件,但不好,因为文件大小为零。 它不应该是零。 我花了好几个小时试图找到答案但没有成功。 我想在Obj-C中做到这一点,但在我疯了之前,C也是一个选择。 拜托,有人给我点亮了! 提前致谢! – 编辑 – […]