FreeBASIC マニュアルのトップに戻る

FreeBASIC ProPgCruntime

目次→教本→プログラマーのための案内C Standard Library Functions←オリジナル・サイト

C 標準ライブラリ関数 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

これは、標準 C ライブラリの関数原型の、アルファベット順一覧と、機能別の一覧です。

参考:【C言語講座】標準ライブラリ関数
http://www.bohyoh.com/CandCPP/C/Library/hindex.html
参考:標準ライブラリ関数一覧
http://homepage3.nifty.com/mmgames/c_guide/r_lib.html
Linux コマンド 一覧表
http://kazmax.zpp.jp/cmd/

アルファベット順一覧
バッファ操作
文字の分類と変換
データ変換
ディレクトリ操作
ファイル操作
ストリーム I/O
低レベル I/O
数学
メモリ割り当て
プロセス制御
検索と並び替え(ソート)
文字列操作
時間

説明:
備考欄に、関数の使い方を、簡潔に記述しています。
この一覧は完全ではありませんが、C 実行時ライブラリの、主要な関数についての情報を提供します。
これは、最小限の情報で、あなたが、標準 C ライブラリで利用可能な関数について、より多くの調査を独力で行うための、きっかけにして下さい。
他で、文書化された C ライブラリ関数のうちのいくつかは、FreeBASIC で利用できないかもしれません。
より多くの情報は、それぞれを含むファイルで、確認してください。

注意: 次の原型は、公式 FreeBASIC 原型(インクルード・ファイルを参照)ではありません。しかし、これらは、関数を適切に使用するために、十分な情報を与えるでしょう。

Include ファイル 列には、インクルードする必要があるファイルの名前が含まれています。プログラムの先頭に #include 指示を使います。
適切なインクルード・ファイルをインクルードしないと、プログラムはコンパイルされないか、正しくコンパイルされても実行すると誤った結果が返されます。
すべての C ランタイム・ヘッダーは、crt ディレクトリに配置されます ; たとえば、指定されたヘッダが math.biの場合は、 #include "crt/math.bi"#include "crt\math.bi" を使います。 #include "crt.bi" とすると、他のすべてを含めます。

関数原型とは、関数の定義に、引数や戻り値の情報を含めたものです。
原型の項目には、次の情報を含んでいます。:

例: atoi(a as zstring ptr) as integer は、関数 atoi の戻り値は、integer 型で、引数として zstring ptr 型の文字を与えることを、意味します。

注意: C 実行時関数の呼び出しを非常に簡単にするために、文字列型引数は、 'zstring ptr' として宣言されたパラメーターを参照する手続きに、直接渡すことができます。
コンパイラは、文字列型引数と 'zstring ptr' 型パラメータの間で自動変換(警告メッセージなしで)されます。

アルファベット順一覧

名前 関数原型 (引数) Include ファイル 備考
abs_ abs_(n as integer) as integer stdlib.bi 絶対値(すなわち正値)を返します
acos_ acos_(a as double) as double math.bi 逆余弦(角度はラジアン)を返します
asin_ asin_(a as double) as double math.bi 逆正弦(角度はラジアン)を返します
atan_ atan_(a as double) as double math.bi 逆正接(角度はラジアン)を返します
atan2_ atan2_(y as double, x as double) as double math.bi 逆正接(y として対辺(opposite)を、x として隣辺(adjacent)を渡す)を返します
atoi atoi(s as zstring ptr) as integer stdlib.bi 文字列(zstring of digits)を、整数型の数値に変換します
atof atof(s as zstring ptr) as double stdlib.bi 文字列(zstring of digits)から double 型の数値への変換
calloc calloc(NumElts as integer, EltSiz as integer) as any ptr stdlib.bi メモリを割り付けます。ポインターを、NumElts 要素(各サイズ、EltSizバイト)を持った配列のために、バッファーに返します。
ceil ceil(d as double) as double math.bi 渡された値の上の、最も近い整数を返します。
clearerr clearerr(s as FILE ptr) stdio.bi ファイル流れ(読み書き)に関して、エラー指標を消去します。
cos_ cos_(ar as double) as double math.bi ラジアンで測られた角度の、余弦を返します。
cosh cosh(x as double) as double math.bi ラジアンで測定される角度の、双曲線余弦を返します。
div div(num as integer, denom as integer) as div_t stdlib.bi タイプ div_t の構造として、除算の商と余りを返します。
ecvt ecvt(x as double) as zstring ptr math.bi 数を zstring に変換します。
exit_ exit_(status as integer) stdlib.bi プログラムを出ます。ファイル・バッファーは、洗い流され、開いている全てのファイルは、閉じます。そして、atexit() によって呼ばれた関数が実行されます。
exp_ exp_(a as double) as double math.bi 引数に対して、底が e の指数を返します。(自然対数の逆)
fabs fabs(d as double) as double math.bi 倍精度型の絶対値(正の数)を返します。
fclose fclose(s as FILE ptr) as FILE ptr stdio.bi ファイルを閉じます。成功した場合は 0 を、さもなければ EOF を返します。
feof feof(s as FILE ptr) as integer stdio.bi エンド・オブ・ファイル・インジケータの値を返します。(eof でない場合は、0) インディケータは、それ自体をクリアします。clearerr() によってリセットできます。
ferror ferror(s as FILE ptr) as integer stdio.bi 流れのための、エラー・インジケータを返します。(エラーがない場合は 0) エラー・インジケータは、clearerr() か、rewind() でリセットします。
fflush fflush(s as FILE ptr) as integer stdio.bi 流れを洗い流します(すなわち、削除します)。 (キーボードからの流れを洗い流すのには、stdin を使います。) うまくいくと、0を返します。
fgetc fgetc(s as FILE ptr) as integer stdio.bi 渡されたストリームから、単一文字を(ASCIIで)入力します。(キーボードの場合は、stdin)
fgetpos fgetpos(s as FILE ptr, c as fpos_t ptr) as integer stdio.bi 流れ s の上のファイル・ポインターの位置を、c によって指される場所に、保存します。
fgets fgets(b as zstring ptr, n as integer, s as FILE ptr) as zstring ptr stdio.bi 流れ s から、n-1 文字までを、バッファ b に、読みます。
floor floor(d as double) as double math.bi 渡された値以下で、最も近い整数を返します。
fmod fmod(x as double, y as double) as double math.bi x を y で割った余りを計算します。
fopen fopen(file as zstring ptr, mode as zstring ptr) as FILE ptr stdio.bi ファイルを開きます。ファイルの DOS 名と、読み、書き、追記のいずれかを示すためのコードを渡します。コード r は、読み込み、w は書き出し、+ は、追記の読み書き、b は、二進数を示します。
fprintf fprintf(s as FILE ptr, fmt as zstring ptr, ...) as integer stdio.bi リストの中に一致する引数を持っている fmt に、単一の % サインがあるのと同数の項目を、流れ s の上に、印刷します。
fputc fputc(c as integer, s as FILE ptr) as integer stdio.bi 流れ s に、単一文字 c を出力します。
fputs fputs(b as zstring ptr, s as FILE ptr) as integer stdio.bi 流れ s に、b の中の文字流れを送ります。操作が失敗すると、0 を返します。
fread fread(buf as any ptr, b as size_t, c as size_t, s as FILE ptr) as integer stdio.bi ファイル s からバッファ buf まで、サイズ b バイトのデータの、数 c 項目を読みます。実際に読まれたデータ項目の数を返します。
free free(p as any ptr) stdlib.bi ポインタ p のために、このメモリを使えるように、メモリ割り当てを解放します。
freopen freopen(file as zstring ptr, mode as zstring ptr, s as FILE ptr) as FILE ptr stdio.bi 流れの転送のために、ファイルを開きます。例えば、freopen("myfile", "w", stdout) は、開かれた「myfile」に、標準出力を転送します。
frexp frexp(x as double, p as integer ptr) as double math.bi 仮数部と指数部に分割します。仮数 m の値を計算します。x = m * (2のn乗)。p は、m へのポインターです。
fscanf fscanf(s as FILE ptr, fmt as zstring ptr, ...) as integer stdio.bi 流れ s から、対応する列挙されたポインターを備えた fmt に、% サインがあるのと同数の項目を、読みます。
fseek fseek(s as FILE ptr, offset as integer, origin as integer) as integer stdio.bi ファイル・ポインターの場所を設定します。開始の起点は、0 か 1 か 2 です。オフセットは、バイトで、流れの最後まで、指定します。
fsetpos fsetpos(s as FILE ptr, p as fpos_t ptr) as integer stdio.bi 流れ s のために、p によって示される値に、ファイル・ポインターをセットします。
ftell ftell(s as FILE ptr) as long stdio.bi ストリーム s のためのファイル・ポインタの場所を見つけます。
fwrite fwrite(buf as any ptr, b as integer, c as integer, s as FILE ptr) as integer stdio.bi バッファ buf から、ファイル s に、サイズ b バイトのデータの、数 c 項目を、書きます。実際に書かれたデータ項目の数を返します。
getc getc(s as FILE ptr) as integer stdio.bi 渡された流れから、単一の文字入力(ASCII による)のマクロです。(キーボード用は、stdin)
getchar getchar() as integer stdio.bi 標準入力から、単一の文字を入力します。
gets gets(b as zstring ptr) as zstring ptr stdio.bi 標準入力から、\n か EOF に出会うまで、文字の流れを読みます。
hypot hypot(x as double, y as double) as double math.bi x と y の側から、斜辺を計算します。
isalnum isalnum(c as integer) as integer ctype.bi 文字 c がアルファベットか数字の場合、0でない値を返します。
isalpha isalpha(c as integer) as integer ctype.bi 文字 c がアルファベットの場合、0でない値を返します。
iscntrl iscntrl(c as integer) as integer ctype.bi 文字 c が制御文字である場合、0でない値を返します。
isdigit isdigit(c as integer) as integer ctype.bi 文字 c が数字である場合、0でない値を返します。
isgraph isgraph(c as integer) as integer ctype.bi 文字 c がアルファベットの場合、0でない値を返します。
islower islower(c as integer) as integer ctype.bi 文字 c が小文字であるならば、ゼロ以外の値を返します。
isprint isprint(c as integer) as integer ctype.bi 文字 c が印刷可能な場合、0でない値を返します。
ispunct ispunct(c as integer) as integer ctype.bi 文字 c が句読記号文字である場合、0でない値を返します。
isspace isspace(c as integer) as integer ctype.bi 文字 c がスペースを表示する場合、0でない値を返します。
isupper isupper(c as integer) as integer ctype.bi 文字 c が大文字であるならば、ゼロ以外の値を返します。
isxdigit isxdigit(c as integer) as integer ctype.bi 文字 c が16進数(0 から F または f)ならば、ゼロ以外の値を返します。
ldexp ldexp(x as double, n as integer) as double math.bi x * (2 ^ n) を返します。
ldiv ldiv(num as long, denom as long) as ldiv_t stdlib.bi 型 ldiv_t の構造として、割り算の商と余りを返します。
log_ log_(a as double) as double math.bi 引数の自然対数を返します。
log10 log10(a as double) as double math.bi 引数に対して、10 を底とした対数を返します。
malloc malloc(bytes as integer) as any ptr stdlib.bi メモリを割り付けます。指定されたサイズの記憶を含むバッファーに、ポインターを返します。
modf modf(d as double, p as double ptr) as double math.bi 浮動小数点数 d の、端数部分を返します。pは、フロートとして表現された整数の部分を指します。
perror perror(mess as zstring ptr) stdio.bi 流れ stderr 上に、引数として渡されたメッセージを印刷します。
pow pow(x as double, y as double) as double math.bi x を底とする指数 y を返します。
pow10 pow10(x as double) as double math.bi 10 を底とする指数 x を返します。(log10() の逆関数)
printf printf(fmt as zstring ptr, ...) as integer stdio.bi リスト中で、一致する引数を備えた fmt に、単一の % サインがあるのと同数の項目を、標準出力上に印刷します。
putc putc(c as integer, s as FILE ptr) as integer stdio.bi 流れ s に、単一の文字 c を出力するマクロです。
putchar putchar(c as integer) as integer stdio.bi 標準出力に、単一の文字 c を出力するマクロです。
puts puts(b as zstring ptr) as integer stdio.bi 標準出力に、b の中の文字流れを送ります。操作が失敗すると、0を返します。
rand rand() as integer stdlib.bi 疑似乱数を返します。種は必要です。種は、srand で設定します。
realloc realloc(p as any ptr, newsize as size_t) as any ptr stdlib.bi メモリを割り付けます。p によって示されるオブジェクトの、サイズでの変化に対して、バッファーにポインターを返します。
rewind rewind(s as FILE ptr) stdio.bi ファイル流れ(読み書き)に関して、エラー指標を消去します。修正されたファイルを読む前に、必要です。
scanf scanf(fmt as zstring ptr, …) as integer stdio.bi 対応するリストされたポインターを備えた fmt に、% サインがあるのと同数の項目を、標準入力から、読みます。
sin_ sin_(ar as double) as double math.bi ラジアンで測られた角度の、正弦を返します。
sinh sinh(x as double) as double math.bi ラジアンで測られた角度の双曲線正弦を返します。
sprintf sprintf(p as zstring ptr, fmt as zstring ptr, ...) as integer stdio.bi リスト中に一致する引数をもつ fmt に、単一の % サインがあるのと同数の項目を、zstring の p 上に、印刷します。
sqrt sqrt(a as double) as double math.bi 渡された値の平方根を返します。値が負数の場合、領域エラーになります。
srand srand(seed as uinteger) stdlib.bi 乱数に種を設定します。可能な種は、現在の時刻です。
sscanf sscanf(b as zstring ptr, fmt as zstring ptr, ...) as integer stdio.bi 対応するリストされたポインターを備えた fmt に、% サインがあるのと同数の項目を、バッファーbから読みます。
strcat strcat(s1 as zstring ptr, s2 as zstring ptr) as zstring ptr string.bi zstring の s2 を、s1 に連結します(追加する)。
strchr strchr(s as zstring ptr, c as integer) as zstring ptr string.bi s の中の c の最初の発生に、ポインターを返します。見つからない場合、NULL を返します。
strcmp strcmp(s1 as zstring ptr, s2 as zstring ptr) as integer string.bi zstring s2 と s1 を比較します。0 あるいは、最初の不一致文字のASCII 値で、符号付きの差を返します。
strcpy strcpy(s1 as zstring ptr, s2 as zstring ptr) as zstring ptr string.bi s1 に、s2 をコピーします。
strcspn strcspn(s1 as zstring ptr, s2 as zstring ptr) as integer string.bi s2 の中のいずれかの文字のうち、s1 の中で、合致するまでの文字の数を、返します。文字列から文字群が含まれない長さを返します。
strerror strerror(n as integer) as zstring ptr string.bi 渡されたエラー番号と一致しているシステムエラーメッセージに、ポインターを戻します。
strlen strlen(s as zstring ptr) as integer string.bi s(ヌルを数えない)で、指定された zstring の、ヌル終えられたバイト数を、返します。
strncat strncat(s1 as zstring ptr, s2 as zstring ptr, n as integer) as zstring ptr string.bi zstring s2 から s1 に、nバイトを連結(追加)します。
strncmp strncmp(s1 as zstring ptr, s2 as any ptr, n as integer) as integer string.bi zstring s2 の nバイトを、同じ s1 と比較します。0 あるいは、最初の不一致文字の ASCII 値の符号付き差を返します。
strncpy strncpy(s1 as zstring ptr, s2 as zstring ptr, n as integer) as zstring ptr string.bi s2 の nバイトを、s1 の中へコピーします。
strpbrk strpbrk(s1 as zstring ptr, s2 as zstring ptr) as zstring ptr string.bi s1 の中で、s2 にもある、最初に遭遇した文字に、ポインターを返します。
strrchr strrchr(s as zstring ptr, c as integer) as zstring ptr string.bi s の中で、c の最後の発生に、ポインターを返します。見つからない場合は、NULL を返します。
strspn strspn(s1 as zstring ptr, s2 as zstring ptr) as integer string.bi s2 にない文字に会う前に遭遇した s1 の中の文字の数を返します。
strstr strstr(s1 as zstring ptr, s2 as zstring ptr) as zstring ptr string.bi s1 の中で、zstring s2 の位置を見つけて、その最初の文字にポインターを返します。
strtod strtod(s as zstring ptr, p as zstring ptr) as double stdlib.bi もし zstring が数の形で書かれていれば、zstring を 倍精度に変換します。
strtok strtok(s1 as zstring ptr, s2 as zstring ptr) as zstring ptr string.bi zstring s1 を利用する連続の印へのポインターを返します。セパレーターと見なされた印は、s2にリストされます。
system system(command as zstring ptr) as integer stdlib.bi プログラムの内部から、zstring (例えば、Windows と DOS の DIR、および Linux の LS)として書かれたオペレーティング・システムに出されたコマンドを、実行します。
tan_ tan_(ar as double) as double math.bi ラジアンで測られた角度の正接を返します。
tanh tanh(x as double) as double math.bi ラジアンで測られた角度の双曲線正接を返します。
tolower tolower(c as integer) as integer ctype.bi 文字を、大文字から小文字に変換(ASCIIコードを使用)します。
toupper toupper(c as integer) as integer ctype.bi 文字を、小文字から大文字に変換(ASCIIコードを使用)します。
ungetc ungetc(c as integer, s as FILE ptr) as integer stdio.bi 流れ s に、文字 c を押し込みます。失敗の場合、EOF を返します。1文字以上を押し込まないでください。

バッファ操作

#include "crt/string.bi"

関数原型 (引数) 備考
memchr(s as any ptr, c as integer, n as size_t) as any ptr バッファで、文字を探索します。
memcmp(s1 as any ptr, s2 as any ptr, n as size_t) as integer 2つのバッファを比較します。
memcpy(dest as any ptr, src as any ptr, n as size_t) as any ptr 1つのバッファを、別のものにコピーします。
memmove(dest as any ptr, src as any ptr, n as size_t) as any ptr 1つのバッファからもう一つのバッファに、バイトの数、動かします。
memset(s as any ptr, c as integer, n as size_t) as any ptr バッファのすべてのバイトを、与えられた文字に設定します。

文字の分類と変換

#include "crt/ctype.bi"

関数原型 (引数) 備考
isalnum(c as integer) as integer c が英数字ならば、True
isalpha(c as integer) as integer c が文字ならば、True
isascii(c as integer) as integer c が ASCII ならば、True
iscntrl(c as integer) as integer c が制御文字ならば、True
isdigit(c as integer) as integer c が十進数ならば、True
isgraph(c as integer) as integer c が描画文字ならば、True
islower(c as integer) as integer c が小文字ならば、True
isprint(c as integer) as integer c が印刷できる文字ならば、True
ispunct(c as integer) as integer c が句読点文字ならば、True
isspace(c as integer) as integer c が空白文字ならば、True
isupper(c as integer) as integer c が大文字ならば、True
isxdigit(c as integer) as integer c が16進数ならば、True
toascii(c as integer) as integer c を ASCII に変換
tolower(c as integer) as integer c を小文字に変換
toupper(c as integer) as integer c を大文字に変換

データ変換

#include "crt/stdlib.bi"

関数原型 (引数) 備考
atof(string1 as zstring ptr) as double zstring を浮動小数点値に変換
atoi(string1 as zstring ptr) as integer zstring を整数値に変換
atol(string1 as zstring ptr) as integer zstring を長整数型値に変換
itoa(value as integer, zstring as zstring ptr, radix as integer) as zstring ptr 整数値を、指定した基数を使って、zstring に変換
ltoa(value as long, zstring as zstring ptr, radix as integer) as zstring ptr 長整数値を、指定した基数を使って、zstring に変換
strtod(string1 as zstring ptr, endptr as zstring ptr) as double zstring を浮動小数点値に変換
strtol(string1 as zstring ptr, endptr as zstring ptr, radix as integer) as long zstring を、指定した基数を使って、長整数に変換
strtoul(string1 as zstring ptr, endptr as zstring ptr, radix as integer) as ulong zstring を、符号なし長整数に変換

ディレクトリ操作

#include "crt/io.bi"

関数原型 (引数) 備考
_chdir(path as zstring ptr) as integer 現在のディレクトリを、指定の経路に変更
_getcwd(path as zstring ptr, numchars as integer) as zstring ptr 現在の作業中のディレクトリの名前を返す
_mkdir(path as zstring ptr) as integer 与えられた経路名を使ってディレクトリを作成
_rmdir(path as zstring ptr) as integer 指定したディレクトリを削除

ファイル操作

#include "crt/sys/stat.bi"
#include "crt/io.bi"

関数原型 (引数) 備考
chmod(path as zstring ptr, pmode as integer) as integer ファイルの許可設定を変更
fstat(handle as integer, buffer as type stat ptr) as integer ファイルの状態の情報を取得
remove(path as zstring ptr) as integer 指定したファイルを削除
rename_(oldname as zstring ptr, newname as zstring ptr) as integer ファイル名を変更
stat(path as zstring ptr, buffer as type stat ptr) as integer 指定したファイルの、ファイルの状態の情報を取得
umask(pmode as uinteger) as uinteger ファイル許可マスクを設定

ストリーム I/O

#include "crt/stdio.bi"

関数原型 (引数) 備考
clearerr(file_pointer as FILE ptr) ストリームのエラー・インジケータを取り除きます。
fclose(file_pointer as FILE ptr) as integer ファイルを閉じます。
feof(file_pointer as FILE ptr) as integer ストリームで、ファイルの終りが起こったかどうかをチェックします。
ferror(file_pointer as FILE ptr) as integer ファイルI/0の間、何か誤りが発生したかどうかチェックします。
fflush(file_pointer as FILE ptr) as integer バッファを、ファイルに(flush)書き出します。
fgetc(file_pointer as FILE ptr) as integer 流れから文字を取得します。
fgetpos(file_pointer as FILE ptr, fpos_t current_pos) as integer ストリームで、現在の位置を取得します。
fgets(string1 as zstring ptr, maxchar as integer, file_pointer as FILE ptr) as zstring ptr ファイルから、zstring を読みます。
fopen(filename as zstring ptr, access_mode as zstring ptr) as FILE ptr バッファ I/0 のためのファイルを開きます。
fprintf(file_pointer as FILE ptr, format_string as zstring ptr, args) as integer ファイルに、フォーマット付きで出力します。
fputc(c as integer, file_pointer as FILE ptr) as integer ストリームに、文字を書きます。
fputchar(c as integer) as integer stdout に、文字を書きます。
fputs(string1 as zstring ptr, file_pointer as FILE ptr) as integer 流れに、zstring を書きます。
fread(buffer as zstring ptr, size as size_t count as size_t, file_pointer as FILE ptr) as size_t ストリームからバッファに、未フォーマットのデータを読み取ります。
freopen(filename as zstring ptr, access as zstring ptr mode, file_pointer as FILE ptr) as FILE ptr ファイル・ポインタを、別のファイルに、再振当てします。
fscanf(file_pointer as FILE ptr, format as zstring ptr zstring, args) as integer 流れから、書式付き入力を読みます。
fseek(file_pointer as FILE ptr, offset as long, origin as integer) as integer ファイルの現在の位置を、新しい場所に設定します。
fsetpos(file_pointer as FILE ptr, current_pos as fpos_t) as integer ファイルの現在の位置を、新しい場所に設定します。
ftell(file_pointer as FILE ptr) as long ファイルの現在の位置を取得します。
fwrite(buffer as zstring ptr, size as size_t, count as size_t file_pointer as FILE ptr) as size_t バッファーから流れに、フォーマットされていないデータを書きます。
getc(file_pointer as FILE ptr) as integer 流れから文字を読みます。
getchar() as integer stdin から文字を読みます。
gets(buffer as zstring ptr) as zstring ptr stdin からバッファーに、行を読みます。
printf(format as zstring ptr _string, args) as integer stdout にフォーマットされた出力を書きます。
putc(c as integer, file_pointer as FILE ptr) as integer 文字をストリームに書く
putchar(c as integer) as integer 文字を stdout に書く
puts(string1 as zstring ptr) as integer zstring を stdout に書く
rewind(file_pointer as FILE ptr) ファイルを巻き戻す
scanf(format_string as zstring ptr, args) as integer stdin から書式付き入力を読む
setbuf(file_pointer as FILE ptr, buffer as zstring ptr) 流れのために、新しいバッファを準備する
setvbuf(file_pointer as FILE ptr, buffer as zstring ptr, buf_type as integer, buf as size_t size) as integer 新しいバッファを準備して、流れに関してバッファリングのレベルをコントロールする
sprintf(string1 as zstring ptr, format_string as zstring ptr, args) as integer zstring に、フォーマット付き出力を書く
sscanf(buffer as zstring ptr, format_string as zstring ptr, args) as integer zstring から、書式付き入力を読む
tmpfile() as FILE ptr 一時ファイルを開く
tmpnam(file_name as zstring ptr) as zstring ptr 一時的なファイル名を取得
ungetc(c as integer, file_pointer as FILE ptr) as integer 流れのバッファに、文字を押し戻す

低レベル I/O

#include "crt/io.bi"

現在は、Win32 だけ、MSVCRT.DLL につながります(他のプラットホームでは、ヘッダがありません)

関数原型 (引数) 備考
_close(handle as integer) as integer バッファがない I/O のために、開いたファイルを閉じる
_creat(filename as zstring ptr, pmode as integer) as integer 指定した許可設定で、新しいファイルを作成する
_eof(handle as integer) as integer ファイルの終りを調べる
_lseek(handle as integer, offset as long, origin as integer) as long ファイル中の、特定の位置に行く
_open(filename as zstring ptr, oflag as integer, pmode as uinteger) as integer 低レベル I/O のために、ファイルを開く
_read(handle as integer, buffer as zstring ptr, length as uinteger) as integer ファイルからバッファに、バイナリデータを読み込む
_write(handle as integer, buffer as zstring ptr, count as uinteger) as integer バッファからファイルに、バイナリデータを書く

数学

#include "crt/math.bi"

関数原型 (引数) 備考
abs_(n as integer) as integer 整数の絶対値を取得します。
acos_(x as double) as double x の逆余弦を計算します。
asin_(x as double) as double x の逆正弦を計算します。
atan_(x as double) as double x の逆正接を計算します。
atan2_(y as double, x as double) as double y/x の逆正接を計算します。
ceil(x as double) as double x を超える、最も小さい整数値を取得します。
cos_(x as double) as double ラジアンの角度の、余弦を計算します。
cosh(x as double) as double x の双曲線余弦を計算します。
div(number as integer, denom as integer) as div_t 1つの整数を、別の整数で割ります。
exp_(x as double) as double x の指数を計算します。
fabs(x as double) as double x の絶対値を計算します。
floor(x as double) as double x 以下の最も大きい整数値を取得します。
fmod(x as double, y as double) as double x を、整数の商で y で割って、余りを返します。
frexp(x as double, expptr as integer ptr) as double No.の仮数と指数に x を分解します。
labs(n as long) as long 長整数型 n の絶対値を見つける
ldexp(x as double, exp as integer) as double x について、浮動小数点数と2の整数べき乗を乗算
ldiv(number as long, denom as long) as ldiv_t 1つの長整数型を、別のもので割る
log_(x as double) as double log(x) を計算する
log10(x as double) as double x の、10を底とする対数を計算する
modf(x as double, intptr as double ptr) as double x を、小数部と整数部に分ける
pow(x as double, y as double) as double x の y 乗を計算する
rand() as integer 0 と 32767 の間で、ランダムな整数を取得する
random(max_num as integer) as integer 0 と max_num の間で、ランダムな整数を取得する
randomize() 乱数発生器に、ランダムな種を設定する
sin_(x as double) as double ラジアンの角度の正弦を計算する
sinh(x as double) as double x の双曲正弦を計算する
sqrt(x as double) as double x の平方根を計算する
srand(seed as uinteger) 乱数発生器(rand)に、新しい種を設定する
tan_(x as double) as double ラジアンの角度の接線を計算する
tanh(x as double) as double x の双曲正接を計算する

メモリ割り当て

#include "crt/stdlib.bi"

関数原型 (引数) 備考
calloc(num as size_t elems, elem_size as size_t) as any ptr 配列を割り当てて、すべての要素をゼロに初期化します。
free(mem_address as any ptr) メモリのブロックを、解放します。
malloc(num as size_t bytes) as any ptr メモリのブロックを割り付けます。
realloc(mem_address as any ptr, newsize as size_t) as any ptr メモリのブロックを再び割り付けます(サイズを調節する)。

プロセス制御

#include "crt/stdlib.bi"

関数原型 (引数) 備考
abort() プロセスを中止します。
execl(path as zstring ptr, arg0 as zstring ptr, arg1 as zstring ptr,..., NULL) as integer 子プロセス(コマンドラインで渡す)を開始します。
execlp(path as zstring ptr, arg0 as zstring ptr, arg1 as zstring ptr,..., NULL) as integer 子(PATH を使って、コマンドラインを渡す)を開始します。
execv(path as zstring ptr, argv as zstring ptr) as integer 子(引数ベクトルを渡す)を開始します。
execvp(path as zstring ptr, argv as zstring ptr) as integer 子(PATH を使って、引数ベクトルを渡す)を開始します。
exit_(status as integer) バッファーをすべて洗い流した後に、プロセスを終了します。
getenv(varname as zstring ptr) as zstring ptr 環境変数の定義を取得します。
perror(string1 as zstring ptr) 最後のシステム・エラーに対応するエラー・メッセージを印刷します。
putenv(envstring as zstring ptr) as integer 環境テーブルに、新しい定義を挿入します。
raise(signum as integer) as integer C信号(例外)を生成します。
system_(string1 as zstring ptr) as integer 常駐のオペレーティング・システム・コマンドを実行します。

検索と並び替え(ソート)

#include "crt/stdlib.bi"
注意: bsearchqsort に必要な、compare コールバック関数は、cdecl として宣言されなければなりません。
compare コールバック関数は、その最初の引数が、並べられた配列で、第2の引数の前に位置するなら、<0 を返します。
最初の引数が、第2の引数の後ろに位置するなら、>0 を返します。
それらの相対的な位置が無関係 (等しい値) ならば、ゼロを返します。

関数原型 (引数) 備考
bsearch(key as any ptr, base as any ptr, num as size_t, width as size_t, compare as function(elem1 as any ptr, elem2 as any ptr) as integer) as any ptr 二分探索を実行します。
qsort(base as any ptr, num as size_t, width as size_t, compare as function(elem1 as any ptr, elem2 as any ptr) as integer) クイック・ソート アルゴリズムを使って、配列を並び替えます。

参考:クイック・ソート

文字列操作

#include "crt/string.bi"

関数原型 (引数) 備考
stpcpy(dest as zstring ptr, src as zstring ptr) as zstring ptr 1つの zstring を、別のものに、コピーします。
strcmp(string1 as zstring ptr, string2 as zstring ptr) as integer string1 と string2 を、アルファベット順で、比較します。
strcpy(string1 as zstring ptr, string2 as zstring ptr) as zstring ptr string2 を、string1 へコピーします。
strerror(errnum as integer) as zstring ptr 指定されたエラー番号と一致しているエラーメッセージを、取得します。
strlen(string1 as zstring ptr) as integer zstring の長さを測定します。
strncat(string1 as zstring ptr, string2 as zstring ptr, n as size_t) as zstring ptr string2 から n 文字を、string1 に追加します。
strncmp(string1 as zstring ptr, string2 as zstring ptr, n as size_t) as integer 2つの文字列の、最初の n 文字を、比較します。
strncpy(string1 as zstring ptr, string2 as zstring ptr, n as size_t) as zstring ptr string2 の、最初の n 文字を、string1 にコピーします。
strnset(string1 as zstring ptr, c as integer, size _t n) as zstring ptr c に、zstring の最初の n 文字を、設定します。
strrchr(string1 as zstring ptr, c as integer) as zstring ptr zstring で、最後に出現する文字 c を見つけます。

時間

#include "crt/time.bi"

関数原型 (引数) 備考
asctime(time as type tm ptr) as zstring ptr asc time:時間を、tm 型から zstring に変換します。
clock() as clock_t 時計のカチカチで、経過したプロセッサ時間を取得します。
ctime(time as time_t ptr) as zstring ptr Convert time: 2進法の時間を zstring に変換します。
difftime(time_t time2, time_t time1) as double difference times: 数秒で、2つの時間の差を計算します。
gmtime(time as time_t ptr) as type tm ptr tm構造体で、グリニッジ標準時(GMT)を取得します。
localtime(time as time_t ptr) as type tm ptr tm構造体で、現地時間を取得します。
time_(timeptr as time_t ptr) as time_t 現在の時刻を、グリニッジ標準時(GMT) 1970/1/1 の 0時から経過した秒数で、取得します。

参照:
プログラマーのための案内 に戻る
目次 に戻る
ページ歴史:2018-04-09 07:55:01
日本語翻訳:WATANABE Makoto、原文著作者:JeffMarshall

ホームページのトップに戻る

表示-非営利-継承