-

Standard Library Functions

提供: HI-TECH C for CP/M Fan WIKI(JP)
移動先: 案内検索

[訳注:各機種に固有の事象については、脚注の前にそれぞれのアイコンが表示されます。ここでは原版でのCP/M用の記述が表示されています。]

標準 I/O

fopen(name, mode)  
入出力用にファイルをオープンする
freopen(name, mode, stream)  
既存のストリームを再度オープンする
fdopen(fd, mode)  
ストリームをファイルデスクリプタと関連付ける[編集者註:元のドキュメントに記載がありません]
fclose(stream)  
オープン済みファイルをクローズする
fflush(stream)  
バッファデータをフラッシュする
getc(stream)  
ストリームから1バイトを読み込み
fgetc(stream)  
getcと同じ
ungetc(c, stream)  
ストリームにchatをpushして戻す
putc(c, stream)  
ストリームに1バイト書き込む
fputc(c, stream)  
putc()と同じ
getchar()  
標準入力から1バイト読み込む
putchar(c)  
標準出力に1バイト書き込む
getw(stream)  
ストリームから1ワード読み込む
putw(w, stream)  
ストリームに1ワード書き込む
gets(s)  
標準入力から一行読み込む
fgets(s, n, stream)  
標準入力から文字列を読み込む
puts(s)  
標準出力に文字列を書き出す
fputs(s, stream)  
文字列をストリームに書き出す
fread(buf, size, cnt, stream)  
ストリームからバイナリを読み込む
fwrite(buf, size, cnt, stream)  
ストリームにバイナリを書き込む
fseek(stream, offs, wh)  
ランダムアクセスのポジショニング
ftell(stream)  
現在のファイルの読み込み/書き込みポジション
rewind(stream)  
ファイルポインタを最初のポジションに戻す
setvbuf(stream, buf, mode, size)  
ストリームのバッファを有効化/無効化する
setbuf
※編集者注元テキストにはないため追加
fprintf(stream, fmt, args)  
ストリーム上の整形された出力
printf(fmt, args)  
整形された標準出力
sprintf(buf, fmt, args)  
文字列への整形された出力
vfprintf(stream, fmt, va_ptr)  
ストリーム上の整形された出力
vprintf(fmt, va_ptr)  
整形された標準出力
vsprintf(buf, fmt, va_ptr)  
文字列への整形された出力
fscanf(stream, fmt, args)  
ストリームからの整形された入力
scanf(fmt, args)  
整形された標準入力
sscanf(buf, fmt, va_ptr)  
文字列からの整形された入力
vfscanf(stream, fmt, va_ptr)  
ストリームからの整形された入力
vscanf(fmt, args)  
整形された標準入力
[[Functions_HI-TECH_C_VSSCANF|vsscanf(buf, fmt, va_ptr)]  
文字列からの整形された入力
feof(stream)  
ストリームがEOFに達すると真になる
ferror(stream)  
ストリームがエラーになると真になる
clrerr(stream)  
ストリーム上のエラーステータスをリセットする
clreof  
※元テキストにはないので追加
fileno(stream)  
ストリームからfdを返す
remove(name)  
ファイルを削除する

文字列処理

atoi(s)  
ASCII文字を10進数からintに変換する
atol(s)  
ASCII文字を10進数からlongに変換する
atof(s)  
ASCII文字を10進数からfloatに変換する
xtoi(s)  
ASCII文字を16進数からintに変換する[編集者註:元のドキュメントに記載がありません]
memchr(s, c, n)  
メモリブロックから一文字検索する
memcmp(s1, s2, n)  
メモリからnバイト比較する
memcpy(s1, s2, n)  
s2からs1へnバイト分をコピーする
memmove(s1, s2, n)  
s2からs1へnバイト分をコピーする
memset(s, c, n)  
sからcまでnバイト分をセットする
strcat(s1, s2)  
文字列2を文字列1につなげる
strncat(s1, s2, n)  
多くともn文字を文字列1につなげる??
strcmp(s1, s2)  
文字列を比較する
strncmp(s1, s2, n)  
文字列をnバイト分比較する
strcpy(s1, s2)  
s2からs1にコピーする
strncpy(s1, s2, n)  
s2から最大nバイト分コピーする
strerror(errnum)  
errnumをエラーメッセージ文字列にマッピングする[編集者註:元のドキュメントに記載がありません]
strlen(s)  
文字列の長さを返す
strchr(s, c)  
文字列内の文字を検索する
strrchr(s, c)  
文字列内の一番右の文字を検索する
strspn(s1, s2)  
s2にあるs1の長さを返す??[編集者註:元のドキュメントに記載がありません]
strcspn(s1, s2)  
s2にないs1の長さを返す???[編集者註:元のドキュメントに記載がありません]
strstr(s1, s2)  
s1内でs2の文字列が最初に出現した位置を返す[編集者註:元のドキュメントに記載がありません]

低レベル I/O

open(name, mode)  
ファイルを開く
close(fd)  
ファイルを閉じる
creat(name)  
ファイルを作成する
dup(fd)  
ファイルでスクリプターを複製する
lseek(fd, offs, wh)  
ランダムアクセスのポジショニング
read(fd, buf, cnt)  
ファイルからの読み込み
rename(name1, name2)  
ファイル名を付け直す
unlink(name)  
ディレクトリからファイルを削除する
write(fd, buf, cnt)  
ファイルに書き出す
isatty(fd)  
fdがtty系のデバイスを参照しているときに真
stat(name, buf)  
ファイルの情報を取得する MSXLOGO.PNG[1]
chmod(name, mode)  
ファイルの属性を取得する MSXLOGO.PNG[2]

文字列評価

isalpha(c)  
cが文字であった場合に真
isupper(c)  
大文字であった場合に真
islower(c)  
小文字であった場合に真
isdigit(c)  
数値であった場合に真
isalnum(c)  
英数字であった場合に真
isspace(c)  
スペース、タブ、?????
ispunct(c)  
句読点の文字列()の場合に真???
isprint(c)  
印刷可能な文字の場合に真
isgraph(c)  
印刷可能でスペース以外の文字の場合に真
iscntrl(c)  
コントロールキャラクターの場合に真
isascii(c)  
アスキー文字(0-127)の場合に真

浮動小数点

cos(f)  
正弦(コサイン)関数
sin(f)  
余弦(サイン)関数
tan(f)  
正接(タンジェント)関数
acos(f)  
アークコサイン関数
asin(f)  
アークサイン関数
atan(f)  
アークタンジェント関数
Functions_HI-TECH_C_ATAN2
exp(f)  
fの指数???
log(f)  
fに対する自然対数
log10(f)  
底を10としてfに対する自然対数
pow(x,y)  
Xのy乗(べき乗)
sqrt(f)  
平方根
fabs(f)  
浮動小数点の絶対数
ceil(f)  
f以下の最小の整数
floor(f)  
f以上の最大の整数
sinh(f)  
双曲線正弦関数(ハイパボリックサイン)
cosh(f)  
双曲線余弦関数(ハイパボリックコサイン)
tanh(f)  
双曲線正接関数(ハイパボリックタンジェント)
frexp(y, p)  
仮数と指数を分離する
ldexp(y, i)  
新しい指数を読み込む

コンソール I/O

getch()  
一文字読み込む
getche()  
echoを伴い一文字読み込む
putch(c)  
一文字書き込む
ungetch(c)  
一文字プッシュして戻す???
kbhit()  
キーが押されたかを確認する
cgets(s)  
一行コンソールから読み込む
cputs(s)  
文字列をコンソールに出力する

日付関数

time(p)  
現在の日付/時間を取得する
gmtime(p)  
標準時間に変換する
localtime(p)  
現地時間に変換する
asctime(t)  
時間をASCII文字に変換する
ctime(p)  
ASCII文字を時間に変換する

その他

execl(name, args)  
外のプログラムを実行する
execv(name, argp)  
他のプログラムを実行する
spawnl(name, arg, ...)  
サブプログラムを実行する
spawnv(name, argp)  
サブプログラムを実行する
int spawnve(char * n, char ** v, char ** e)
サブプログラムを実行する【編集者注:この項目は元テキストのリストでは抜けていたので追記】
system(s)  
システムコマンドを実行する
atexit(func)  
終了時にfuncを実行するようにインストールする
exit(status)  
実行を停止
[[Functions_HI-TECH_C__EXIT|_exit(status)]]  
即座に実行を停止
getuid()  
ユーザーIDを取得する(CP/M)
setuid(uid)  
ユーザーIDを設定する(CP/M)
chdir(s)  
ディレクトリを変更する
mkdir(s)  
ディレクトリを作成する
rmdir(s)  
ディレクトリを削除する
getcwd(drive)  
カレントワーキングディレクトリを取得する(MS-DOS)
signal(sig, func)  
割り込み条件のためトラップを設定する
brk(addr)  
メモリ配置を設定する
sbrk(incr)  
メモリ配置を調整する
malloc(cnt)  
ダイナミックメモリ配置
free(ptr)  
ダイナミックメモリリリース
realloc(ptr, cnt)  
ダイナミックメモリ再配置
calloc(cnt, size)  
ダイナミックメモリ配置をゼロにする
perror(s)  
エラーメッセージを表示する
qsort(base, nel, width, func)  
クイックソート
srand(seed)  
乱数生成を初期化する
rand()  
次の乱数を取得する
setjmp(buf)  
ノンローカルなgotoをセットする????
longjmp(buf, val)  
ノンローカルなgoto????
[[Functions_HI-TECH_C__GETARGS|_getargs(buf, name)]]  
ワイルドカード展開とi/oリダイレクション
inp(port)  
ポートを読み込む
outp(port, data)  
データをポートに書き込む
bdos(func, val)  
BDOSコールを実行する(CP/M)
msdos(func, val, val, ...)  
MSDOSコールを実行する(MSDOs)
msdoscx(func, val, val, ...)  
MSDOSコールを変更する
intdos(ip, op)  
DOS割り込みを実行する
intdosx(ip, op, sp)  
DOS割り込みを実行する
segread(sp)  
セグメントレジスタの値を取得する
int86(int, ip, op)  
ソフトウェア割り込みを実行する
int86x(int, ip, op, sp)  
ソフトウェア割り込みを実行する
bios(n, c)  
BIOSエントリをコール(CP/M)
ei()  
割り込み許可
di()  
割り込み禁止
set_vector(vec, func)  
割り込みベクタの設定
assert(e)  
タイムアサーションを実施???
getenv(s)  
環境変数を取得(MS-DOS)

脚注

  1. hitech-4でMSX用の修正あり
  2. hitech-4でMSX用の修正あり