HobNote
C言語関係[01]
since 2008.08.20
last update 2015.10.13



C言語[32bit]のデータ型と範囲

以下は、あくまでも目安でありコンパイラやマシン、OSによって異なる場合があるので注意



gcc main関数の引数

main関数が
main(int argc, char *argv[])であるとき
実行ファイルhoge_exeを引数を付けて実行すると
>./hoge_exe abc def

argc = 3
argv[0] = ./hoge_exe
argv[1] = abc
argv[2] = def
となる。



外部コマンドの実行

一つのプログラム(親プロセス)の中で他のプログラム(子プロセス)を実行するには、以下の方法がある。

例)
まず、外部プログラムとして
というのを作ってみる

これを別のプログラム上から実行する例として
で、execl()を使う場合は、
execl("./exec_child", "./exec_child", arg1, arg2, arg3,,,,NULL);
とするとexec_childに対しての期待する動作をする。



ファイルの状態を調べる

ファイルのサイズや更新時間を調べるには、state関数を使う。



プログラムの中に環境変数を取り込む($HOMEとか)

プログラム中に$HOMEとかの環境変数を使いたい場合がある。
そこで環境変数を取り込むには、getenv関数を使う。

以下、$HOMEを取り込んだプログラムの例である。
※includeが必要なのは、stdlib.h
  で $ は、いらないんだ。。。



指定のディレクトリが存在するかどうかの確認

以下、ディレクトリが存在するかどうかをopendir関数を使って調べるプログラムの例である。
※sys/types.hとdirent.hはopendir関数に必要
  errno.hはerrnoの値をdefineされている定義を呼び出すのに必要