c语言文件大小
A. 用c语言怎样测试一个文本文件的大小
#include <io.h>
#include <stdio.h>
int main(void)
{
FILE * f = 0; int fn = 0, sz = 0;
f = fopen("c:\\abc.txt", "rb");
if(!f) {
fprintf(stderr, "File Not Found.\n");
return 0;
}/*end if*/
fn = _fileno(f); /*取得文件指针的底层流式文件号*/
sz = _filelength(fn);/*根据文件号取得文件大小*/
printf("文件abc.txt大小为:%d字节.\n", sz);
fclose(f);
return 0;
}/*end main*/
备注:上述程序适用于任何一种文件,都可以直接求出大小。
B. C语言中的改变文件大小的函数
C语言虽然没有这类的函数,但是您完全可以使用File类文件操作来重新打开一个文件进行写入,该文件被彻底清空了。微软MSDN上有此类例子: FILE * fopen (const char * filename, const char * mode);
Mode:"w "
Create an empty file for writing. If a file with the same name already exists its content is erased.
C. c语言 计算文件大小fgetpos,数据出现负数且不正确
在目前的C/C++标准中,ftell为long型的,也就是32位的,它的范围就是-2,147,483,648到2,147,483,647
,你要对超过2G的文件操作,必须用类似gcc中
Function:
off64_t
ftello64
(FILE
*stream)
这样的函数
或可用系统的SDK
DWORD
GetFileSize(
HANDLE
hFile,
//
handle
of
file
to
get
size
of
LPDWORD
lpFileSizeHigh
//
address
of
high-order
word
for
file
size
);
D. 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);
}
望采纳!
E. 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;
//文件大小
time_t
st_atime;
time_t
st_mtime;
time_t
st_ctime;
};
stat(const
char
*,
struct
_stat
*);
//根据文件名得到文件属性
参考代码:
#include <sys/stat.h>
void main( )
{
struct stat buf ;
if ( stat( "test.txt", &buf ) < 0 )
{
perror( "stat" );
return ;
}
printf("file size:%d\n", buf.st_size );
}
F. C语言建立文件有没有大小限制啥的
从函数本身来说是没有任何限制的,受限制的只是系统和保存的分区的文件格式等外部条件的。
G. 怎么在读入文件前获得文件大小【C语言版】
如果文件大小指的是你从C
程序中可以读进的字符数量,
要得到这个精确的数字可能困难或不可能。
Unix
系统函数stat()
会给出准确的答案。有些系统提供了类似Unix
的stat()函数,
但只返回一个近似值。你可以调用fseek()
搜索到文件尾,
再调用ftell(),
或者调用fstat(),
然而这些方法都有同样的问题:
fstat()
不可移植,
通常返回和stat()一样的值;
ftell()
并不保证可以返回字符计数,
除非是用于二进制文件,
但是,
严格来讲,
二进制文件并不一定支持fseek
搜索到SEEK
END。某些系统提供filesize()
或filelength()
的函数,
但是它们明显的不可移植。你是否确定你必须预先知道文件大小?作为一个C
程序最准确的方法就是打开文件并读入,
也许可以重新整理代码,
使其边读入边计算文件大小。
H. C语言中,怎么知道文件的大小
你需要使用fseek函数将文件指针指向最后:
fseek(fp, 0L, SEEK_END);
sz = ftell(fp);
其中sz就是文件的大小。
当你知道文件的大小后,就可以通过fseek重新定义到文件开始的位置:
fseek(fp, 0L, SEEK_SET);
或使用下面的函数定义的文件开始:
rewind(fp);
可以到秒秒学上看看相关的内容,上面的课程讲解得可以的。
I. C语言 计数程序计算文件大小
不是count*4 就是count
因为是按照字节读取的
getc应该是fgetc。 每次读一个字节。
但是返回值是int型。 这是因为, 结束符EOF值是-1, 如果不是int就会和char的255混淆。