當前位置:首頁 » 編程語言 » c語言文件內存計算
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言文件內存計算

發布時間: 2023-03-30 21:30:22

① 如何用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;

}

(1)c語言文件內存計算擴展閱讀

C語言獲取文件長度及全部內容

FILE*fp;

fp=fopen("localfile","rb");//localfile文件名

fseek(fp,0L,SEEK_END);/*定位到文件末尾*/

flen=ftell(fp);/*得到文件大小*/

p=(char*)malloc(flen+1);/*根據文件大小動態分配內存空間*/

if(p==NULL)

{

fclose(fp);

return0;

}

fseek(fp,0L,SEEK_SET);/*定位到文件開頭*/

fread(p,flen,1,fp);/*一次性讀取全部文件內容*/

p[flen]=0;/*字元串結束標志*/

② 【C語言】計算文件長度,把文件內容讀取到內存中

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
main ()
{
string str;
ifstream f1 ( "1.txt" );
if (f1.fail())
{
cerr<<"open failure on 1.txt"<<endl;
return 1;
}
ifstream f2 ( "2.txt" );
if (f2.fail())
{
cerr<<"open failure on 2.txt"<<endl;
return 1;
}
ofstream out ( "3.txt" );
if (out.fail())
{
cerr<<"open failure on 3.txt"<<endl;
return 1;
}
while ( getline (f1, str))
{
out<<str<<endl;
}
while ( getline (f2,str))
{
out<<str<<endl;
}
f1.close();
f2.close();
out.close ();
return 0;
}
可以參照這個試試

③ c語言聯合體內存計算

你的意圖我不是很明白,就說說我知道的地方吧,
聯合體就是你聲明的所有變數他們的起始地址是相同的。換句話說他們公用一塊地址。所以整個聯合體的大小取決於內部變數佔用空間最大的。
看看你聯合體內的成員
a佔4位元組
b[9]
佔9個位元組
c佔8個位元組,所以按照最大的計算,聯合體啊佔大小9個位元組,但是他還要滿足第二個條件,就是大小必須是內部成員基礎類型的整數倍。你的基礎類型是int
4位元組
char
1位元組
double
8位元組
取公因數並且要比9大所以他的大小事16個位元組。
第二個問題,你直接為一個該結構體的指針賦值(這種做法很危險,因為你不知道指向的空間具體是什麼內容),所以
pp
就指向了一個空間,然後
qq=pp+0x10
這里你要注意,並不是簡單地pp的地址值上加上0x10編譯器對這里的理解是
現在眼前有很多的該結構體類型,他們緊密排列,如果pp的編號是1
那麼qq的編號是1+0x10
所以說qq的實際指向地址

0x100000(pp的地址)+sizeof(dt)(每個結構體的大小)*0x10
注意結構體大小是16
是十進制
轉換成16進制也就是0x10
結果正好是0x100100了
所以最後的輸出就是輸出他們指向的地址值。

④ C語言中如何計算一個數組占內存多少空間

如果一個數組的長度是n(即有n個元素),元素的類型是XXX,則n*sizeof(XXX)就是這個數組所佔內存空間的位元組數。

⑤ C語言中如何計算一個數組占內存多少空間

首地址由數組名表示,也是0元素的地址。
若有: int a[10];
則:a與&a[0]都表示a數組所佔存儲空間的起始地址

⑥ 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);
}
望採納!