C ユーザーズガイド

ライブラリ関数 (G.3.14)

(7.1.6) マクロの null を拡張した null ポインタ定数

null は 0 になります。

(7.2) assert 関数によって出力される診断と assert 関数の終了動作

診断は次のようになります。

Assertion failed: <文>. file <ファイル名>, line <番号>

(7.3.1) isalnum、isalpha、iscntrl、islower、isprint、および isupper 関数によってテストされる文字セット

表 B-4 isalpha、islower などによりテストされる文字セット
 isalnum

ASCII 文字の A から Z、a から z、0 から 9 

 isalpha

ASCII 文字の A から Z、a から z、およびロケール固有の単一バイト文字 

 iscntrl

0 から 31 までと 127 の値を持つ ASCII 文字 

 islower

ASCII 文字の a から z 

 isprint

ロケール固有の単一バイトの出力可能文字。 

 isupper

ASCII 文字の A から Z 

(7.5.1) ドメインエラーの数値演算関数によって返される値

表 B-5 ドメインエラーの場合の戻り値
 エラー 数値演算関数 コンパイラモード
-Xs,-Xt-Xa,-Xc
 DOMAIN acos(|x|>1) 0.0 0.0
 DOMAIN asin(|x|>1) 0.0 0.0
 DOMAIN atan2(+-0,+-0) 0.0 0.0
 DOMAIN y0(0) -HUGE -HUGE_VAL
 DOMAIN y0(x<0) -HUGE -HUGE_VAL
 DOMAIN y1(0) -HUGE -HUGE_VAL
 DOMAIN y1(x<0) -HUGE -HUGE_VAL
 DOMAIN yn(n,0) -HUGE -HUGE_VAL
 DOMAIN yn(n,x<0) -HUGE -HUGE_VAL
 DOMAIN log(x<0) -HUGE -HUGE_VAL
 DOMAIN log10(x<0) -HUGE -HUGE_VAL
 DOMAIN pow(0,0) 0.0 1.0
 DOMAIN pow(0,neg) 0.0 -HUGE_VAL
 DOMAIN pow(neg,non-integal) 0.0 NaN
 DOMAIN sqrt(x<0) 0.0 NaN
 DOMAIN fmod(x,0) x NaN
 DOMAIN remainder(x,0) NaN NaN
 DOMAIN acosh(x<1) NaN NaN
 DOMAIN atanh(|x|>1) NaN NaN

(7.5.1) アンダーフローエラーの場合に、数値演算関数が整数式 errno をマクロ ERANGE の値に設定するかどうか。

アンダーフローが検出された場合、scalbn を除いた数値演算関数は errnoERANGE に設定します。

(7.5.6.4) fmod 関数の第 2 引数が 0 を持つ場合に、ドメインエラーとなるか、 0 が返されるか。

この場合は、ドメインエラーとして第 1 引数が返されます。

(7.7.1.1) signal 関数に対するシグナルの設定

表 B-6signal 関数が認識する各シグナルの意味を示します。

表 B-6 signal シグナルの意味

シグナル 

No. 

デフォルト 

イベント 

 SIGHUP 1

終了 

ハングアップ 

 SIGINT 2

終了 

割り込み 

 SIGQUIT 3

コア 

終了 

 SIGILL 4

コア 

不当な命令 (捕捉されてもリセットされない) 

 SIGTRAP 5

コア 

トレーストラップ (捕捉されてもリセットされない) 

 SIGIOT 6

コア 

IOT 命令 

 SIGABRT 6

コア 

異常終了時に使用 

 SIGEMT 7

コア 

EMT 命令 

 SIGFPE 8

コア 

浮動小数点の例外 

 SIGKILL 9

終了 

強制終了 (捕捉または無視できない) 

 SIGBUS

10 

コア 

バスエラー 

 SIGSEGV

11 

コア 

セグメンテーション違反 

 SIGSYS

12 

コア 

システムコールへの引数誤り 

 SIGPIPE

13 

終了 

読み手のないパイプ上への書き込み 

 SIGALRM

14 

終了 

アラームクロック 

 SIGTERM

15 

終了 

プロセスの終了によるソフトウェアの 停止 

 SIGUSR1

16 

終了 

ユーザー定義のシグナル 1 

 SIGUSR2

17 

終了 

ユーザー定義のシグナル 2 

 SIGCLD

18 

無視 

子プロセス状態の変化 

 SIGCHLD

18 

無視 

子プロセス状態の変化の別名 

 SIGPWR

19 

無視 

電源障害による再起動 

 SIGWINCH

20 

無視 

ウィンドウサイズの変更 

 SIGURG

21 

無視 

ソケットの緊急状態 

 SIGPOLL

22 

終了 

ポーリング可能なイベント発生 

 SIGIO

22 

終了 

ソケット入出力可能 

 SIGSTOP

23 

停止 

停止 (キャッチまたは無視できない) 

 SIGTSTP

24 

停止 

tty より要求されたユーザーストップ 

 SIGCONT

25 

無視 

停止していたプロセスの継続 

 SIGTTIN

26 

停止 

バックグラウンド tty の読み込みを 試みた 

 SIGTTOU

27 

停止 

バックグラウンド tty の書き込みを 試みた 

 SIGVTALRM

28 

終了 

仮想タイマーの時間切れ 

 SIGPROF

29 

終了 

プロファイリング・タイマーの時間切れ 

 SIGXCPU

30 

コア 

CPU の限界をオーバー 

 SIGXFSZ

31 

コア 

ファイルサイズの限界をオーバー 

 SIGWAITINGT

32 

無視 

プロセスの LWP がブロックされた 

(7.7.1.1) singal 関数によって認識される各 signal のデフォルトの取扱い、およびプログラムのスタートアップ時における取扱い

上記を参照してください。

(7.7.1.1) シグナルハンドラを呼び出す前に signal(sig、SIG_DFL); 相当のものが実行されない場合は、どのシグナルがブロックされるのか。

signal(sig、SIG_DFL); 相当のものは、常に実行されます。

(7.7.1.1) 'signal' 関数に指定されたハンドラにより SIGILL シグナルが受信された場合は、デフォルト処理はリセットされるか。

SIGILL では、デフォルト処理はリセットされません。

(7.9.2) テキストストリームの最終行で、改行文字による終了を必要とするか。

最終行を改行文字で終了する必要はありません。

(7.9.2) 改行文字の直前でテキストストリームに書き出されたスペース文字は読み込みの際に表示されるか。

ストリームが読み込まれるときにはすべての文字が表示されます。

(7.9.2) バイナリストリームに書かれたデータに追加することのできる null 文字の数

バイナリストリームには null 文字を追加しません。

(7.9.3) アペンドモードのストリームのファイル位置指示子は、最初にファイルの始まりと終わりのどちらに置かれるか。

ファイル位置指示子は最初にファイルの終わりに置かれます。

(7.9.3) テキストストリームへの書き込みを行うと、書き込み点以降の関連ファイルが切り捨てられるか。

ハードウェアの命令がない限り、テキストストリームへの書き込みによって書き込み点以降の関連ファイルが切り捨てられることはありません。

(7.9.3) ファイルのバッファリングの特徴

標準エラーストリーム (stderr) を除く出力ストリームは、デフォルトでは出力がファイルの場合にはバッファリングされ、出力が端末の場合にはラインバッファリングされます。標準エラー出力ストリーム (stderr) はデフォルトではバッファリングされません。

バッファリングされた出力ストリームは多くの文字を保存し、その文字をブロックとして書き込みます。バッファリングされなかった出力ストリームは宛先ファイルあるいは端末に迅速に書き込めるように情報の待ち行列を作ります。ラインバッファリングされた出力は、その行が完了するまで (改行文字が要求されるまで) 出力の各行の待ち行列を作ります。

(7.9.3) ゼロ長ファイルは実際に存在するか。

ディレクトリエントリを持つという意味ではゼロ長ファイルは存在します。

(7.9.3) 有効なファイル名を作成するための規則

有効なファイル名は 1 から 1,023 文字までの長さで、NULL 文字とスラッシュ (/) 以外のすべての文字を使用することができます。

(7.9.3) 同一のファイルを何回も開くことができるか。

同一のファイルを何回も開くことができます。

(7.9.4.1) 開いたファイルへの remove 関数の効果

ファイルを閉じる最後の呼び出しによりファイルが削除されます。すでに除去されたファイルをプログラムが開くことはできません。

(7.9.4.2) rename 関数を呼び出す前に新しい名前を持つファイルがあった場合、そのファイルはどうなるか。

そのようなファイルがあれば削除され、新しいファイルが元のファイルの上に書き込まれます。

(7.9.6.1) fprintf 関数における %p 変換の出力

%p の出力は %x と等しくなります。

(7.9.6.2) fscanf 関数における %p 変換の入力

%p の入力は %x と等しくなります。

(7.9.6.2) fscanf 関数における %[ 変換のための走査リストで最初の文字でも最後の文字でもないハイフン文字 '-' の解釈

'-' 文字は包含的範囲を意味します。すなわち、[0-9][0123456789] に等しくなります。