> On Aug 26, 2016, at 11:32 PM, R. Matthew Emerson <[email protected]>
> wrote:
>
>
>> On Aug 26, 2016, at 11:19 PM, Graham Cox <[email protected]> wrote:
>>
>> Hi all,
>>
>> Apparently a simple task, but no obvious API for it: getting the length
>> (size) of a file I have a NSFileHandle for. This class has no -length
>> property, so how can I get it?
>>
>> I need to know because I have a requirement to create a backup copy of a
>> file once it exceeds a certain size. This backup is created when I first
>> open the file as a NSFileHandle. I can read the content of the file and find
>> out the size that way, but I’d rather not first read it into memory if I’m
>> just going to create my backup copy and then start over with an empty file -
>> reading it all in just to find the length seems a bit wrong, is all.
>
> One way would be to read the NSFileHandle's fileDescriptor property, and then
> use stat(2), e.g., like so:
>
> #include <sys/stat.h>
> #include <stdlib.h>
>
> #include <stdio.h>
>
> int main(int argc, char *argv[])
> {
> struct stat buf;
> stat("/etc/passwd", &buf);
> printf("size = %lld\n", buf.st_size);
> }
Argh, I meant fstat(2).
#include <sys/stat.h>
#include <sys/file.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
struct stat buf;
int fd = open("/etc/passwd", O_RDONLY);
fstat(fd, &buf);
printf("size = %lld\n", buf.st_size);
}
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]