C语言写个输出文件大小的程序

Write a C program that takes a single file name as a parameter and
outputs to standard output the size of the file in bytes. You may assume the file
exists and it is just a regular file. Place your answer in the file called 'mysize.c' in the
Q3 directory. (hint - “man 2 stat”) When run from the command line you should see :
$ ./mysize 100bytefile
100
$ ./mysize emptyfile
0

#include <stdio.h>
#include <sys/stat.h>

int main(int ac, char * av[]) {
  struct stat sb;
  stat(av[1], &sb);
  printf("%lld\n", (long long) sb.st_size);
  return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-19
像楼上的,打开一个文件,fseek函数把文件位置移动到末端,然后ftell获取文件当然位置并返回就是文件大小了,
第2个回答  2014-07-18
//mysize.c

#include <stdio.h>
int main(int argc, char* argv[])
{
long int iFileLen;
FILE *pFile;
if(argc==1){
printf("usage: mysize <filename>\n");
return 0;}

pFile = fopen( argv[1], "rb" );
if ( pFile == NULL ) {
printf("file not found\n");
return 1;}

fseek( pFile, 0, SEEK_END );
iFileLen = ftell( pFile );

fclose( pFile );
printf("%ld\n",iFileLen);
return 0;
}本回答被提问者和网友采纳

C语言写个输出文件大小的程序
include <stdio.h>#include <sys\/stat.h>int main(int ac, char * av[]) { struct stat sb; stat(av[1], &sb); printf("%lld\\n", (long long) sb.st_size); return 0;}

如何用C语言获取文件的大小
1、用stat()函数来获取 int main(){ struct stat st ;stat( "file.txt", &st );printf(" file size = %d\\n", st.st_size);return 0;} 2、用ftell()函数来获取 int main(){ FILE *fp;fp=fopen( "file.txt", "r");fseek(fp, 0L, SEEK_END );printf(" file size = %d\\n...

如何用C语言获取文件的大小
intfile_size(char*filename){ FILE*fp=fopen(filename,"r");if(!fp)return-1;fseek(fp,0L,SEEK_END);intsize=ftell(fp);fclose(fp);returnsize;}

C语言获取文件大小&读&写文件代码
本文提供了一套C语言代码,以实现文件大小获取、读取以及写入功能。代码通过三个文件实现,包括头文件“fGetFileInfo.h”,实现相关函数定义;源文件“fGetFileInfo.c”,实现函数逻辑;以及用于测试的“main.c”。具体而言,使用“fGetFileInfo.h”文件中的函数可以获取文件的大小,实现简单高效。在“f...

如何用C语言获取文件的大小
c语言可以通过stat()函数获得文件属性,通过返回的文件属性,从中获取文件大小。include <sys\/stat.h> 可见以下结构体和函数 struct stat { _dev_t st_dev;_ino_t st_ino;unsigned short st_mode;short st_nlink;short st_uid;short st_gid;_dev_t st_rdev;_off_t st_size; \/\/文件...

c语言如何计算文件大小?
include<stdio.h> include<stdlib.h> void main(){ FILE*fp;int a;if((fp=fopen("1.txt","rb"))==NULL){ printf("此文件无法打开");exit(0);} fseek(fp,0,2);a=ftell(fp);printf("%d\\n",a);fclose(fp);} 望采纳!

如何用C语言获取文件的大小
方法一:利用纯C语言来获取文件大小 unsigned long get_file_size(const char *filename){ unsigned long size;FILE* fp = fopen( filename, "rb" );if(fp==NULL){ printf("ERROR: Open file %s failed.\\n", filename);return 0;} fseek( fp, 0L, SEEK_END );size=ftell(fp);fclose...

c语言如何通过文件属性获取文件大小
c语言可以通过stat()函数获得文件属性,通过返回的文件属性,从中获取文件大小。include <sys\/stat.h> 可见以下结构体和函数 struct stat { _dev_t st_dev;_ino_t st_ino;unsigned short st_mode;short st_nlink;short st_uid;short st_gid;_dev_t st_rdev;_off_t st_size;\/\/文件大小 ti...

用C语言 将一个文件分成固定大小的几个文件。
输出文件名叫 aaX.txt X=0,1,2,3...单个文件大小 one_size, 你可以 更改大小。include<stdio.h> main(){ FILE *fp, *fout;char nameout[80];int i,j,k,n;long size, one_size=1024;char *buff;\/\/ one_size=one_size * 0.1; \/\/你可以 更改大小 fp = fopen ("abc.t...

用C语言 将一个文件分成固定大小的几个文件。
输出文件名叫 aaX.txt X=0,1,2,3...单个文件大小 one_size, 你可以 更改大小。include<stdio.h> main(){ FILE *fp, *fout;char nameout[80];int i,j,k,n;long size, one_size=1024;char *buff;\/\/ one_size=one_size * 0.1; \/\/你可以 更改大小 fp = fopen ("abc.t...

相似回答