> 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]

Reply via email to