當前位置:首頁 » 編程語言 » c語言文件大小

c語言文件大小

發布時間: 2022-04-16 22:48:43

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混淆。

熱點內容
db2plsql 發布:2025-01-22 08:19:10 瀏覽:778
豬豬俠腳本沒反應 發布:2025-01-22 08:08:37 瀏覽:811
賽博朋克跟永劫無間哪個配置高 發布:2025-01-22 08:07:07 瀏覽:534
請盡快上傳 發布:2025-01-22 08:06:22 瀏覽:188
河北編程培訓 發布:2025-01-22 08:01:42 瀏覽:591
a星演算法視頻 發布:2025-01-22 07:55:01 瀏覽:878
快手安卓怎麼直播 發布:2025-01-22 07:54:58 瀏覽:937
買伺服器搭建vpn 發布:2025-01-22 07:53:21 瀏覽:808
路由器忘記密碼如何解 發布:2025-01-22 07:38:47 瀏覽:154
5分鍾視頻編譯 發布:2025-01-22 07:36:33 瀏覽:772