#navi(../)
* ファイルのサイズを取得する・stat [#cc88e748]
stat関数によりファイルの情報を取得することができます。~
本資料はstat関数を使用し、引数で指定したファイルのファイルサイズ(容量)を表示するC言語サンプルコードです。

#contents
#htmlinsertpcsp(c-top.html,c-sp.html)

* 関連記事 [#ebec71f0]
-[[テキストファイルを行単位で読み込む・fgets>ファイル/テキストファイルを行単位で読み込む・fgets]]
-[[ディレクトリかどうか判別する・stat>ファイル/ディレクトリかどうか判別する・stat]]
-[[指定したディレクトリのファイル一覧を取得する・opendir,readdir>ファイル/指定したディレクトリのファイル一覧を取得する・opendir,readdir]]
-[[ファイルのサイズを取得する>ファイル/ファイルのサイズを取得する・stat]]
-[[ファイルのユーザIDとグループIDを取得する>ファイル/ファイルのUIDとGIDを取得する・stat]]
-[[fopenのファイルモード一覧表>ファイル/fopenのファイルモード一覧表]]
-[[バイナリファイルの書き込みと読み込み・fopen,fwrite,fread>ファイル/バイナリファイルの書き込みと読み込み・fopen,fwrite,fread]]

* ファイルサイズ取得のC言語サンプルコード [#c1e70897]
&ref(fsize.c); (改行コードLF)

 #include <stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>
 
 void usage(char *cmd)
 {
 	fprintf(stderr, "Usage: %s <filename>\n", cmd);
 }
 
 int main(int argc, char *argv[])
 {
 	struct stat st;
 	if (argc != 2) {
 		usage(argv[0]);
 		return 1;
 	}
 	
 	if (stat(argv[1], &st) != 0) {
 		fprintf(stderr, "%s is not found.\n", argv[1]);
 		return 1;
 	}
 	
 	printf("File size : %d\n", st.st_size);
 	
 	return 0;
 }
 

* ファイルサイズ取得の実行結果 [#b9577023]
コンパイルして実行した結果を以下に記します。
 $ gcc fsize.c -o fsize
 $ ./fsize fsize.c 
 File size : 421
 
 $ ls -l fsize.c
 -rw-r--r-- 1 sakura sakura 421  7月 26 14:13 fsize.c

以上、ファイルサイズ(容量)の取得方法でした。

#htmlinsertpcsp(c-btm.html,c-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS