Re: Help ! how to get a file size larger than 2G?



santosh <santosh.k83@xxxxxxxxx> writes:

karthikbalaguru wrote:

On Sep 30, 1:06 pm, CBFalconer <cbfalco...@xxxxxxxxx> wrote:
zou wrote:

there is a file which is very large,

we can use stat to get a file size(<2G),
struct stat buf;
stat("file", &buf);
long s=(long)stat.st_size;

but stat::st_size is type of off_t(typedef long),
so how about a file larger than 2G?

stat and off_t are not part of standard C and thus off-topic here.
Find a newsgroup dealing with your system, possibly
comp.unix.programmer.


It looks like this function is only available to Unix systems.
I think, you can check with the man page of stat.

C version of code ;-)
Refer this link -
http://www.phim.unibe.ch/comp_doc/c_manual/C/EXAMPLES/stat.c

#include <sys/stat.h> /* declare the 'stat' structure */

struct stat stat_p; /* 'stat_p' is a pointer to a structure
* of type 'stat'. */

if ( -1 == stat (filename, &stat_p))
{
printf(" Error occoured attempting to stat %s\n", filename);
exit(0);
}

printf("File size is %d bytes\n", stat_p.st_size);

Please attempt, wherever possible, to provide correct and compilable code.
The above code fragment, besides being uncompilable, is also not correct,
in that it invokes undefined behaviour in at least one place.

Since the undefined behaviour is nothing to so with stat, as such,
possibly you could explain? Surely not all "samples" that people post
where they are having difficulties need to be sanitised?!?!? At first
glance all I see really wrong is the comment about stat_p being a pointer. It
isn't. And of course the lack of an include for printf.

.



Relevant Pages

  • Re: printf and zero padding
    ... Harry Putnam wrote: ... timestamps zero padded using printf? ... my @stat = stat $file; ... Can you give an example of your desired output? ...
    (perl.beginners)
  • Re: problem printf
    ... > use MD5; ... or use printf() the way it was meant tu be. ... If would probably be best to do the stat() and print the result ... What the heck is find.pl? ...
    (perl.beginners)
  • Re: Some Unix Questions
    ... man stat ... man awk ... man echo ... man printf ...
    (comp.unix.questions)
  • printf and zero padding
    ... With this little script, how would I manage to get the shorter ... timestamps zero padded using printf? ... my @stat = stat $file; ...
    (perl.beginners)
  • Re: Help ! how to get a file size larger than 2G?
    ... stat and off_t are not part of standard C and thus off-topic here. ... Since the undefined behaviour is nothing to so with stat, as such, ... And of course the lack of an include for printf. ... (varadic function without prototype). ...
    (comp.lang.c)