前へ | 次へ | 目次 | 索引 |
引数の逆正弦を返します。
#include <math.h>double asin (double x);
float asinf (float x); (Alpha only)
long double asinl (long double x); (Alpha only)
double asind (double x); (Alpha only)
float asindf (float x); (Alpha only)
long double asindl (long double x); (Alpha only)
x
領域 [ - 1,1] の実数値として表したラジアン値。
asin関数は,領域 [ - 1,1] の x に対して, [ - pi/2,pi/2] ラジアンの範囲で x の逆正弦の主値を計算します。asind関数は,領域 [ - 1,1] の x に対して, [ - 90,90] 度の範囲で x の逆正弦の主値を計算します。
abs(x) が 1.0 より大きい場合, asin(x) の値は 0 であり, errnoは EDOM に設定されます。
引数の双曲線逆正弦を返します。
#include <math.h>double asinh (double x);
float asinhf (float x);
long double asinhl (long double x);
x
領域 [ - 無限大,+無限大] の実数値で表したラジアン値。
asinh関数は,領域 [ - 無限大,+無限大] の x に対して,x の双曲線逆正弦を返します。ただし, asinh(x) = ln(x + sqrt(x**2 + 1)) です。asinh関数は sinhの逆関数であり, asinh( sinh(x)) = x です。
プログラムで実行時診断機能をインプリメントするために使用します。
#include <assert.h>void assert (int expression);
expression
int型の式。
assertを実行したときに,expression が False である (つまり 0 に評価される) 場合は, assertは異常終了した特定の呼び出しに関する情報 ( 引数のテキスト,ソース・ファイルの名前,ソース行番号などで,最後の 2 つはそれぞれ前処理マクロ __FILE__および __LINE__の値 ) を,インプリメンテーションで定義されている形式で標準エラー・ファイルに書き込みます。その後, abort関数を呼び出します。assert関数は次の形式でメッセージを書き込みます。
Assertion failed: expression, file aaa, line nnn
expression が True である ( つまり 0 以外の値に評価される ) 場合や,シグナル SIGABRT が無視されている場合は, assertは値を返しません。
注意
送出される式の一部にヌル文字 ('\0') が含まれている場合は,ヌル文字までのテキスト (ヌル文字を含む) だけが印刷されます。これは,ヌル文字が文字列の出力を終了するからです。
#include assert文より前にプリプロセッサ・ディレクティブ #defineNDEBUG を指定するか,または CC コマンド修飾子 /DEFINE=NDEBUG を指定してコンパイルすると, assert関数は無効になります。
#include <stdio.h> #include <assert.h> main() { printf("Only this and the assert\n"); assert(1 == 2); /* expression is FALSE */ /* abort should be called so the printf will not happen. */ printf("FAIL abort did not execute"); }
#include <math.h>double atan (double x);
float atanf (float x); (Alpha only)
long double atanl (long double x); (Alpha only)
double atand (double x); (Alpha only)
float atandf (float x); (Alpha only)
long double atandl (long double x); (Alpha only)
x
実数値で表したラジアン値。
atan関数は, [ -pi/2,pi/2 ] ラジアンの範囲で x の逆正接の主値を計算します。atand関数は, [ - 90,90] 度の範囲で x の逆正接の主値を計算します。
#include <math.h>double atan2 (double y, double x);
float atan2f (float y, float x); (Alpha only)
long double atan2l (long double y, long double x); (Alpha only)
double atand2 (double y, double x); (Alpha only)
float atand2f (float y, float x); (Alpha only)
long double atand2l (long double y, long double x); (Alpha only)
y
実数値で表したラジアン値。x
実数値で表したラジアン値。
atan2関数は, [ -pi,pi ] ラジアンの範囲で y/x の逆正接の主値を計算します。 atan2と atan2fの符号は, y の符号によって決定されます。 atan2(y, x) の値は次のように計算されます。ただし,f はデータ型に関連付けられている小数ビットの数です。
入力引数の値 返される角度 x = 0 または y/x > 2**( f+1) pi/2 * (sign y) x > 0 および y/x <= 2**( f+1) atan( y/x) x < 0 および y/x <= 2**( f+1) pi * (sign y) + atan(y/x)
atand2関数は, [ - 180,180] 度の範囲で y/x の逆正接の主値を計算します。 atand2と atand2fの符号は, y の符号によって決定されます。
次の引数は, atan2関数および atand2関数にとって不正な引数です。
関数 例外引数 atan2, atan2f, atan2l x = y = 0 atan2, atan2f, atan2l | x| = | y| = 無限大 atand2, atand2f, atand2l x = y = 0 atand2, atand2f, atand2l | x| = | y| = 無限大
引数の双曲線逆正接を返します。
#include <math.h>double atanh (double x);
float atanhf (float x);
long double atanhl (long double x);
x
領域 [ - 1,1] の実数値として表したラジアン値。
atanh関数は x の双曲線逆正接を返します。 atanh関数は tanh関数の逆関数であり, atanh( tanh(x)) = x です。|x| > 1 は不正な引数です。
引数を指定せずに呼び出された関数をプログラムの終了時に登録します。
#include <stdlib.h>int atexit (void (*func) (void));
func
登録する関数を指すポインタ。
0 登録が正常終了したことを示します。 0 以外の値 異常終了を示します。
longjmp関数をハンドラの内部から実行することはできません。これは, longjmpの宛先アドレスがもはや存在しないからです。
#include <stdlib.h> #include <stdio.h> static void hw(void); main() { atexit(hw); } static void hw() { puts("Hello, world\n"); }
この例では,次の出力が生成されます。
Hello, world
ASCII 文字列を倍精度数値に変換します。
#include <stdlib.h>double atof (const char *nptr);
nptr
倍精度数値に変換する文字列を指すポインタ。文字列は,浮動小数点定数を解釈するために使用される規則と同じ規則で解釈されます。
変換される文字列の形式は次のとおりです。
[white-spaces][+|-]digits[radix-character][digits][e|E[+|-]integer]
ただし,radix-character は現在のロケールで定義されます。
認識されない最初の文字が検出されると,変換は終了します。
x 変換後の値。 0 アンダフローまたは変換を実行できないことを示します。この関数は errno を ERANGE または EINVAL に設定します。 ±HUGE_VAL オーバフローが発生しました。 errno は ERANGE に設定されます。
ASCII 文字列を適切な数値に変換します。
#include <stdlib.h>int atoi (const char *nptr);
long int atol (const char *nptr);
nptr
数値に変換する文字列を指すポインタ。
atoi関数と atol関数は,文字列の最初の部分をそれぞれ 10 進数の int値および long int値に変換します。 atoi関数と atol関数は,変換で発生するオーバフローを考慮しません。変換される文字列は次の形式です。
[white-spaces][+|-]digits関数呼び出し atol (str)は strtol (str, (char**)NULL, 10)と同じであり,関数呼び出し atoi (str)は (int) strtol(str, (char**)NULL, 10)と同じです。ただし,どちらの場合もエラー発生時の動作が異なります。
n 変換後の値。
ASCII 文字列を適切な数値に変換します。 atollは atoqの同意語です。
#include <stdlib.h>__int64 atoq (const char *nptr);
__int64 atoll (const char *nptr);
nptr
数値に変換する文字列を指すポインタ。
atoq(または atoll) 関数は,文字列の最初の部分を 10 進数の __int64値に変換します。この関数は変換で発生するオーバフローを考慮しません。変換される文字列の形式は次のとおりです。
[white-spaces][+|-]digits関数呼び出し atoq (str)は strtoq (str, (char**)NULL, 10)と同じですが,エラー発生時の動作が異なります。
n 変換後の値。
パス名の最後のコンポーネントを返します。
#include <libgen.h>関数バリアント basename関数には, _basename32および _basename64という名前のバリアントがあり,それぞれ 32 ビット・ポインタ・サイズおよび 64 ビット・ポインタ・サイズで使用されます。ポインタ・サイズ固有の関数の使い方の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.10 節を参照してください。char *basename (char *path);
path
ベース・パス名を抽出する UNIX 形式のパス名。
basename関数は, path によって示される UNIX 形式のパス名を引数として受け付け,後続のスラッシュ (/) 文字を削除して,パス名の最後のコンポーネントを指すポインタを返します。path がスラッシュ (/) 文字だけで構成されている場合は,この関数は文字列 "/" を指すポインタを返します。
path が NULL ポインタである場合や,空文字列を指す場合は,文字列 "." を指すポインタを返します。
basename関数は path によって示される文字列を変更する可能性があります。
x path の最後のコンポーネントを指すポインタ。 "/" path が '/' 文字だけで構成されている場合。 "." path が NULL ポインタであるか,または空文字列を指す場合。
バイト列を比較します。
#include <strings.h>void bcmp (const void *string1, const void *string2, size_t length);
string1, string2
比較するバイト列。length
バイト列の長さ (バイト数)。
bcmp関数は,string1 のバイト列を string2 のバイト列と比較します。文字列関数と異なり,ヌル・バイトの確認は行われません。長さが 0 のバイト列は常に同一であると解釈されます。
bcmpは, ANSI C 標準で定義されている memcmpに相当します。したがって,移植性の高いプログラムを実現するには, memcmpを使用することをお勧めします。
0 バイト列は同一です。 0 以外の値 バイト列は同一ではありません。
バイト列をコピーします。
#include <strings.h>void bcopy (const void *source, void *destination, size_t length);
source
コピー元バイト列を指すポインタ。destination
コピー先バイト列を指すポインタ。length
バイト列の長さ (バイト数)。
bcopy関数は,可変長バイト列に対して機能します。 length 引数の値 (バイト数) によって指定される長さのバイト列を source 引数のバイト列から destination 引数のバイト列にコピーします。文字列関数と異なり,ヌル・バイトの確認は行われません。 length 引数が 0 (ゼロ) の場合,バイト列はコピーされません。
bcopyは, ANSI C 標準で定義されている memcpyに相当します。したがって,移植性の高いプログラムを実現するには, memcpyを使用することをお勧めします。
前へ | 次へ | 目次 | 索引 |