ポケットリファレンスシリーズC言語 標準ライブラリ関数 ポケットリファレンス
[ANSI CISO C99対応]

[表紙]C言語 標準ライブラリ関数 ポケットリファレンス[ANSI C、ISO C99対応]

四六判/408ページ

定価(本体2,280円+税)

ISBN 978-4-7741-3729-2

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本書は,C言語の標準ライブラリ関数のハンディ解説書です。ANSI C(ISO C90),ISO C95で規定している関数については全てを解説してあります。ISO C99に関しては,追加された関数については概要のみを解説してあります。全体は2部構成で,1部ではライブラリ関数の使い方の概要を,分かりにくいものは図を用いて解説しました。一通り読むことでライブラリ関数の全体的な使い方が理解できます。2部はライブラリ関数をヘッダファイルごとに型,マクロ,関数の順にそれぞれをアルファベット順に並べて解説してあります。

こんな方におすすめ

  • C言語プログラミングの副読本として
  • C言語のヘッダーや関数について詳しく知りたい人
  • 各関数の例題が欲しい人

目次

Part1 標準ライブラリ関数の使い方

01 C標準ライブラリ関数の概要

  • 1-1 Cの仕様を定めた文献および規格とその略称
  • 1-2 規格ごとの種類
  • 1-3 ヘッダファイルのインクルード
  • 1-4 ライブラリ関数を使用する際の注意事項
  • 1-5 用語に関する注意事項

02 共通の定義(stddef.h:STanDard DEFine Header)

03 ロケール(locale.h:LOCALE Header)

  • 3-1 ロケールの設定と取得(localeconv,setlocale)
  • 3-2 ロケールを元に動作する関数

04 標準入出力(stdio.h:STanDard Input/Output Header)

  • 4-1 ファイル入出力の概要
  • 4-2 標準入出力(コンソール入出力)
  • 4-3 標準入出力を利用したプログラム
  • 4-4 ファイル入出力
  • 4-5 ファイル位置付け(fgetpos,fseek,fsetpos,ftell,rewind)
  • 4-6 バッファ操作(setbuf,setvbuf,fflush)
  • 4-7 エラー処理(clearerr,feof,ferror,perror)
  • 4-8 文字列バッファとの書式付き入出力(sscanf,sprintf)
  • 4-9 可変引数の書式付き出力(vfprintf,vprintf,vsprintf)
  • 4-10 ファイル操作(remove,rename,tmpfile,tmpnam)
  • 4-11 シーケンシャルファイルとランダムファイル

05 文字列・メモリ操作(string.h:STRING Header)

  • 5-1 文字列の構造
  • 5-2 文字列のコピー(strcpy,strncpy)
  • 5-3 文字列の連結(strcat,strncat)
  • 5-4 文字列の比較(strcmp,strcoll,strncmp,strxfrm)
  • 5-4 文字列の検索
  • 5-5 その他(strlen,strerror)
  • 5-6 メモリ操作(memcmp,memcpy,memmove,memchr,memset)

06 文字の分類と変換(ctype.h:Character TYPE Header)

  • 6-1 文字種分類関数
  • 6-2 大文字小文字変換関数

07 時間操作(time.h:TIME Header)

  • 7-1 歴時刻の取得と文字列への変換(time,ctime,asctime,strftime)
  • 7-2 time_t型とtm構造体の変換(gmtime,localtine,mktime)
  • 7-3 時間差の計算(difftime)
  • 7-4 プロセッサ時間(clock,CLOCKS_PER_SEC)
  • 7-5 時間関数で扱える歴時刻の範囲
  • 7-5時間関数を使った応用例

08 一般ユーティリティ(stdlib.h:STanDard LIBrary Header)

  • 8-1 疑似乱数(rand,srand)
  • 8-2 メモリ管理(calloc,free,malloc,realloc)
  • 8-3 プロセス制御(abort,atexit,exit,system)
  • 8-4 環境変数の取得(getenv)
  • 8-5 検索・ソート(bsearch,qsort)
  • 8-6 整数算術演算(abs,div,labs,ldiv)
  • 8-7 文字列から数値への変換(atof,atoi,atol,strtod,strtol,strtoul)
  • 8-8 マルチバイト文字・ワイド文字操作(mblen,mbstowcs,mbtowc,wcstombs,wctomb)

09 可変引数リスト(stdarg.h:STanDerd ARGument Header)

10 数学関数(math.h:MATHematics Header)

  • 10-1 引数,関数の型とエラー処理
  • 10-2 三角関数関連
  • 10-3 指数,対数,平方根,累乗関数(exp,frexp,ldexp,log,log10,sqrt,pow)
  • 10-4 数値変換関数(ceil,fabs,floor,fmod,modf)

11 浮動小数点型の制限値(float.h:FLOATing-point Header)

12 整数型の制限値(limits.h:LIMITS Header)

13 プログラム診断(assert.h:ASERT Header)

14 エラーの識別 (errno.h:ERRor NO Header)

15 非局所分岐(setjmp.h:SET JuMP Header)

16 シグナル操作(signal.h:SIGNAL Header)

17 ワイド文字操作(wchar.h:Wide CHARacter Header)

  • 17-1 入出力
  • 17-2 文字列操作(wcscpy,wcsncpy, wcscat,wcsncat,wcscmp,wcscoll,wcsncmp,wcsxfrm,wcschr,wcscspn,wcspbrk,wcsrchr,wcsspn,wcsstr,wcstok,wcslen)
  • 17-3 メモリ操作(wmemchr,wmemcmp,wmemcpy,wmemmove,wmemset)
  • 17-4 ワイド文字の分類と変換(wcstod,wcstol,wcstoul)
  • 17-5 文字コード変換(mbrlen,mbrtowc,mbsrtowcs,wcrtomb,wcsrtombs,mbsinit,btowc,wctob)

18 ワイド文字の分類と変換(wctype.h:Wid-Character TYPE Header)

19 代替つづり(iso646.h:ISO646 Header)

20 複素数計算(complex.h:COMPLEX Header)

21 浮動小数点環境(fenv.h:Floatin-point ENVironment Header)

22 整数型の書式変換(inttypes.h:INTeger TYPES Header)

23 論理型マクロ(stdbool.h:STanDard BOOLean Header)

24 標準整数型(stdint.h:STanDard INTeger Header)

25 型総称数学関数(tgmath.h:Type-Generic MATHematics Header)

Part2 関数,マクロ,型リファレンス

01 リファレンスの見方

  • 1-1 関数プロトタイプの仮引数の名称
  • 1-2 規格の表現の厳密性

02 locale.h:ロケール

  • lconv型(Locale CONVention type)
  • LC_マクロ(LoCale)
  • localeconv:地域仕様の設定情報関数(LOCALE CONVention)
  • setlocale:地域仕様の設定関数(SETLOCALE)

03 math.h:数学関数

  • acos:逆余弦関数(Arc COSine)
  • asin:逆正弦関数(Arc SINe)
  • atan:逆正接関数(Arc TANgent)
  • atan2:2引数逆正接関数(Arc TANgent 2 parameter)
  • ceil:引数を下回らない最小整数関数(CEILling)
  • cos:余弦関数(COSine)
  • cosh:双曲線余弦関数(Hyperbolic COSine)
  • exp:指数関数(EXPonential)
  • fabs:実数の絶対値関数(Floating-point ABSolute value)
  • floor:引数を上回らない最大整数関数(FLOOR)
  • fmod:実数データの剰余関数(Floating-point MODulus)
  • frexp:仮数部と指数部の分割関数(FRaction EXPonential)
  • ldexp:指数関数(LoaD EXPonential)
  • log:自然対数関数(LOGarithm)
  • log10:常用対数関数(LOGarithm base 10)
  • modf:整数部と小数部の分離関数(MODulus Fraction)
  • pow:累乗関数(POWer)
  • sin:正接関数(SINe)
  • sinh:双曲線正弦関数(Hyperbolic SINe)
  • sqrt:平方根関数(SQuare RooT)
  • tan:正接関数(TANgent)
  • tanh:双曲線正接関数(Hyperbolic TANgent)

04 setjmp.h:非局所分岐

  • jmp_buf型(JuMP BUFfer type)
  • longjmp:非局所分岐関数(LONG JuMP)
  • setjmp:現在位置の設定マクロ(SET JuMP)

05 signal.h:シグナル操作

  • sig_atomic_t型(SIGnal ATOMIC Type)
  • SIG_マクロ(SIGnal)
  • SIGマクロ(SIGnal)
  • raise:シグナルの発生関数(RAISE)
  • signal:シグナルハンドラの設定関数(SIGNAL)

06 stdarg.h:可変引数リスト

  • va_list型(VAriable LIST)
  • va_arg:可変引数データの取得マクロ(VAriable ARGument)
  • va_end:可変引数処理の終了マクロ(VAriable END)
  • va_start:可変引数処理の開始マクロ(VAriable START)

07 stddef.h:共通に使われる型とマクロ

  • ptrdiff_t型(PoinTeR DIFFerence Type)
  • size_t型(SIZE of Type)
  • wchar_t型(Wide CHARacter Type)
  • NULLマクロ
  • offsetofマクロ

08 stdio.h:標準入出力

  • FILE構造体(FILE structure)
  • fpos_t型(File POSition Type)
  • _IOFBFマクロ(Input/Output Fully BuFfered)
  • _IOLBFマクロ(Input/Output Line BuFfered)
  • _IONBFマクロ(Input/Output uN BuFfered)
  • BUFSIZマクロ(BUFfer SIZe)
  • EOFマクロ(End Of File)
  • FILENAME_MAXマクロ(FILENAME_MAXimum)
  • FOPEN_MAXマクロ(File OPEN MAXimum)
  • L_tmpnamマクロ(Length TeMPorary NAMe)
  • SEEK_CURマクロ(SEEK CURrent position)
  • SEEK_ENDマクロ(SEEK END position)
  • SEEK_SETマクロ(SEEK SET position)
  • stderr マクロ(STanDard ERRor stream)
  • stdinマクロ(STanDard Input stream)
  • stdoutマクロ (STanDard OUTput stream)
  • TMP_MAXマクロ(TeMPorary MAXimum)
  • clearerr:エラーのクリア関数(CLEAR ERRor)
  • fclose:ファイル・クローズ関数(File CLOSE)
  • feof:ファイルの終わりの検知関数(File End Of File)
  • ferror:ファイル・エラーの検知関数(File ERROR)
  • fflush:出力バッファのはきだし関数(File FLUSH)
  • fgetc:ファイルから1文字入力関数(File GET Character)
  • fgetpos:ファイル現在位置の取得関数(File GET POSition)
  • fgetsファイルからの文字列入力関数(File GET String)
  • fopen:ファイル・オープン関数(File OPEN)
  • fprintf:ファイルへの書式付出力関数(File PRINT Format)
  • fputc:ファイルへの1文字出力関数(File PUT Character)
  • fputs:ファイルへの文字列出力関数(File PUT String)
  • fread:ファイルからのブロック・リード関数(File READ)
  • freopen:ファイルの再オープン関数(File REOPEN)
  • fscanf:ファイルからの書式付入力関数(File SCAN Format)
  • fseek:ファイル現在位置の移動関数(File SEEK)
  • fsetpos:ファイル現在位置の設定関数(File SET POSition)
  • ftell:ファイル現在位置の取得関数(File TELL)
  • fwrite:ファイルへのブロック・ライト関数(File WRITE)
  • getc:ファイルから1文字入力関数(GET Character)
  • getchar:標準入力から1文字入力関数(GET CHARacter)
  • gets:標準入力から文字列の入力関数(GET String)
  • perror:エラー・メッセージの出力関数(Print ERROR)
  • printf:標準出力への書式付出力関数(PRINT Format)
  • putc:ファイルへの1文字出力関数(PUT Character)
  • putchar:標準出力への1文字出力関数(PUT CHARracter)
  • puts:標準出力への文字列の出力関数(PUT String)
  • remove:ファイルの削除関数(remove)
  • rename:ファイル名の変更関数(rename)
  • rewind:ファイル先頭に戻す関数(rewind)
  • scanf:標準入力からの書式付入力関数(SCAN Format)
  • setbuf:ユーザーバッファの設定関数(SET BUFfer)
  • setvbuf:指定モードとバイトでのユーザバッファの設定関数(SET Value BUFfer)
  • sprintf:文字配列への書式付出力関数(String PRINT Format)
  • sscanf:文字配列からの書式付入力関数(String SCAN Format)
  • tmpfile:一時ファイルの生成関数(TeMPorary FILE)
  • tmpnam:一時ファイル名の生成関数(TeMPorary NAMe)
  • ungetc:ファイルへ1文字プッシュバック関数(UNGET Character)
  • vfprintf:可変引数のファイルへの書式付出力関数(Variable File PRINT Format)
  • vprintf:可変引数の書式付出力関数(Variable PRINT Format)
  • vsprintf:可変引数の文字配列への書式付出力関数(Variable String PRINT Format)

09 stdlib.h:一般ユーティリティ

  • div_t構造体(integer DIVision Type structure)
  • ldiv_t構造体(Long-integer DIVision Type structure)
  • EXIT_FAILUREマクロ
  • EXIT_SUCCESSマクロ
  • MB_CUR_MAXマクロ(MultiByte CURent MAXimum)
  • RAND_MAXマクロ(RANDom MAXimum)
  • abort:プロセスの中断関数(ABORT)
  • abs:整数型の絶対値関数(ABSolute value)
  • atexit:プログラム終了時の関数コール関数(ATtach EXIT)
  • atof:文字列->double値変換関数(Ascii TO Floating-point)
  • atoi:文字列->int値変換関数(Ascii TO Integer)
  • atol:文字列->long値変換関数(Ascii TO Long integer)
  • bsearch:2分探索関数(Binary SEARCH)
  • calloc:配列領域の取得関数(Cell ALLOCate)
  • div:商と剰余の取得関数(DIVision)
  • exit:プロセスの終了関数(EXIT)
  • free:メモリ・ブロックの開放関数(FREE)
  • getenv:環境変数の取得関数(GET ENVironment)
  • labs:long型の絶対値関数(Long-integer ABSolute value)
  • ldiv:long値の商と剰余の取得関数(Long-integer DIVision)
  • malloc:メモリ領域の取得関数(Memory ALLOCcate)
  • mblen:マルチバイト文字の構成バイト数の取得関数(MultiByte LENgth)
  • mbstowcs:マルチバイト文字列をワイド文字列に変換関数(MultiByte String TO Wide-Character String)
  • mbtowc:マルチバイト文字をワイド文字に変換関数(MultiByte TO Wide-Character)
  • qsort:クイックソート関数(Quick SORT)
  • rand:整数乱数の発生関数(RANDom)
  • realloc:メモリ領域の再割付け関数(RE-ALLOCate)
  • srand:乱数系列の初期化関数(Seed RANDom)
  • strtod:文字列をdouble値に変換関数(STRing TO Double)
  • strtol:文字列をlong値に変換関数(STRing TO Long-integer)
  • strtoul:文字列をunsigned long値に変換関数(STRing TO Unsigned Long-integer)
  • system:プログラムの実行関数(SYSTEM)
  • wcstombs:ワイド文字列をマルチバイト文字列に変換関数(Wide-Character String TO MultiByte String)
  • wctomb:ワイド文字をマルチバイト文字に変換関数(Wide-Character TO MultiByte)

10 string.h:文字列・メモリ操作

  • memchr:指定文字の検索関数(MEMory CHRaracter)
  • memcmp:メモリブロックの比較関数(MEMory CoMPare)
  • memcpy:メモリ・ブロックのコピー関数(MEMory CoPY )
  • memmove:メモリ・ブロックの移動関数(MEMory MOVE)
  • memset:メモリ・ブロックの初期化関数(MEMory SET)
  • strcat:文字列の連結関数(STRing conCATenate)
  • strchr:指定文字の検索関数(STRing CHaRacter)
  • strcmp:文字列の比較関数(STRing CoMPare)
  • strcoll:地域仕様情報を使った比較関数(STRing COLLate)
  • strcpy:文字列のコピー関数(STRing CoPY)
  • strcspn:文字列の検索関数(STRing Consist SPaN)
  • strerror:エラー・メッセージの生成関数(STRing ERROR)
  • strlen:文字列の長さの取得関数(STRing LENgth)
  • strncat:長さを指定した文字列の連結関数(STRing Number conCATenate)
  • strncmp:長さを指定した文字列の比較関数(STRing Number CoMPare)
  • strncpy:長さを指定した文字列のコピー関数(STRing Number CoPY)
  • strpbrk:文字列の検索関数(STRing Point BReaK)
  • strrchr:右端からの文字の検索関数(STRing Right CHaRacter)
  • strspn:文字列の検索関数(STRing SPaN)
  • strstr:文字列の検索関数(STRing STRing)
  • strtok:トークンの切り出し関数(STRing TOKen)
  • strxfrm:地域仕様情報に基づいた文字列変換関数(STRing eXtension transFoRMation)

11 time.h:時間操作

  • clock_t型(CLOCK Type)
  • time_t型(TIME Type)
  • tm構造体(TiMe structure)
  • CLOCKS_PER_SECマクロ(CLOCKS PER SECond)
  • asctime:時間文字列の作成関数(ASCii TIME)
  • clock:プロセッサ時間の取得関数(CLOCK)
  • ctime:時間文字列に変換関数(Convert TIME)
  • difftime:歴時刻の時間差の計算関数(DIFFerence TIME)
  • gmtime:協定世界時としてtm構造体に変換関数(Greenwich Mean TIME)
  • localtime:地方時間としてtm構造体に変換関数(LOCAL TIME)
  • mktime:tm歴時刻をtime_t歴時刻に変換関数(MaKe TIME)
  • strftime:時間文字列の生成関数(STRing Format TIME)
  • time:歴時刻の取得関数(TIME)

12 wchar.h:

  • ワイド文字操作
  • 規格上の注意点
  • 処理系依存
  • mbstate_t型(MultiByte STATE Type)
  • wint_t型(Wide-character INTeger Type)
  • WEOFマクロ(Wide-character End Of File)
  • btowc:ワイド文字に変換関数(Byte TO Wide-Character)
  • fgetwc:ファイルから1ワイド文字入力関数(File GET Wide-Character)
  • fgetws:ファイルからのワイド文字列入力関数(File GET Wide-character String)
  • fputwc:ファイルへの1ワイド文字出力関数(File PUT Wide-Character)
  • fputws:ファイルへのワイド文字列出力関数(File PUT Wide-character String)
  • fwprintf:ファイルへのワイド文字の書式付出力関数(File Wide-character PRINT Format)
  • fwscanf:ファイルからのワイド文字の書式付入力関数(File Wide-character SCAN Format)
  • getwc:ファイルから1ワイド文字入力関数(GET Wide-Character)
  • getwchar:標準入力から1ワイド文字入力関数(GET Wide-CHARacter)
  • mbrlen:マルチバイト文字の構成バイト数の取得関数(MmultiByte Restartable LENgth)
  • mbrtowc:マルチバイト文字をワイド文字に変換関数(MultiByte Restartable TO Wide-Character)
  • mbsinit:初期変換状態の検査関数(MultiByte-String INITialize)
  • mbsrtowcs:マルチ文字列をワイド文字列に変換関数(MultiByte String Restartable TO Wide-Character String)
  • putwc:ファイルへの1ワイド文字出力関数(PUT Wide-Character)
  • putwchar:標準出力への1ワイド文字出力関数(PUT Wide-CHARracter)
  • swprintf:文字配列への書式付出力関数(String Wide-character PRINT Format)
  • swscanf:文字配列からの書式付入力関数(String Wide-character SCAN Format)
  • ungetwc:ファイルへ1文字プッシュ・バック関数(UNGET Wide-Character)
  • vfwprintf:可変引数のファイルへの書式付出力関数(Variable File Wide-character PRINT Format)
  • vswprintf:可変引数の文字配列への書式付出力関数(Variable String Wide-character PRINT Format)
  • vwprintf:可変引数の標準出力への書式付出力関数(Variable Wide-character PRINT Format)
  • wcrtomb:ワイド文字をマルチバイト文字に変換関数(Wide-Character Restartable TO MultiByte)
  • wcscat:ワイド文字列の連結関数(Wide-Character String conCATenate)
  • wcschr:指定文字列の検索関数(Wide-Character String CHaRacter)
  • wcscmp:ワイド文字列の比較関数(Wide-Character String CoMPare)
  • wcscoll:地域仕様情報を使った比較関数(Wide-Character String COLLate)
  • wcscpy:ワイド文字列のコピー関数(Wide-Character String CoPY)
  • wcscspn:ワイド文字列の検索関数(Wide-Character String Consist SPaN)
  • wcsftime:時間文字列の生成関数(Wide-Character String Format TIME)
  • wcslen:ワイド文字列の長さの取得関数(Wide-Character String LENgth)
  • wcsncat:ワイド文字列の連結関数(Wide-Character String Number conCATenate)
  • wcsncmp:ワイド文字列の比較関数(Wide-Character String Number CoMPare)
  • wcsncpy:ワイド文字列のコピー関数(Wide-Character String Number CoPY)
  • wcspbrk:ワイド文字列の検索関数(Wide-Character String Point BReaK)
  • wcsrchr:右端からのワイド文字の検索関数(Wide-Character String Right CHaRacter)
  • wcsrtombs:ワイド文字列をマルチバイト文字列に変換関数(Wide-Character String Restartable TO MultiByte String)
  • wcsspn:ワイド文字列の検索関数(Wide-Character String SPaN)
  • wcsstr:文字列の検索関数(Wide-Character Strsing STRing)
  • wcstod:ワイド文字列をdouble値に変換関数(Wide-Character String TO Double)
  • wcstok:ワイド文字トークンの切り出し関数(Wide-Character String TOKen)
  • wcstol:文字列をlong値に変換関数(Wide-Character String TO Long-integer)
  • wcstoul:文字列をunsigned long値に変換関数(Wide-Character String TO Unsigned Long-integer)
  • wcsxfrm:地域仕様情報に基づいた文字列変換関数(Wide-Character String eXtension transFoRMation)
  • wctob:ワイド文字を1バイト文字に変換関数(Wide-Character TO Byte)
  • wmemchr:指定文字列の検索関数(Wide-character MEMory CHaRacter)
  • wmemcmp:メモリブロックの比較関数(Wide-character MEMory CoMPare)
  • wmemcpy:メモリブロックのコピー関数(Wide-character MEMory CoPY)
  • wmemmove:メモリブロックの移動関数(Wide-character MEMory MOVE)
  • wmemset:メモリ・ブロックの初期化関数(Wide-character MEMory SET)
  • wprintf:標準出力への書式付出力関数(Wide-character PRINT Format)
  • wscanf:標準入力からの書式付入力関数(Wide-character SCAN Format)

著者プロフィール

河西朝雄(かさいあさお)

山梨大学工学部電子工学科卒(1974年)。長野県岡谷工業高等学校情報技術科教諭,長野県松本工業高等学校電子工業科教諭を経て,現在は「カサイ.ソフトウエアラボ」代表。

主な著書:「入門ソフトウエアシリーズC言語,MS-DOS,BASIC,構造化BASIC,アセンブリ言語,C++」「やさしいホームページの作り方シリーズHTML,JavaScript,HTML機能引きテクニック編,ホームページのすべてが分かる事典,iモード対応HTMLとCGI,iモード対応Javaで作るiアプリ」「チュートリアル式言語入門VisualBasic.NET」「はじめてのVisualC#.NET」「C言語用語辞典」ほか(以上ナツメ社)「構造化BASIC」「C言語によるはじめてのアルゴリズム入門」「Javaによるはじめてのアルゴリズム入門」「VisualBasicによるはじめてのアルゴリズム入門」「VisualBasic6.0入門編/中級テクニック編/上級編」「InternetLanguage改定新版シリーズホームページの作成JavaScript入門」「NewLanguageシリーズ標準VisualC++プログラミング標準Javaプログラミング」「VB.NET基礎学習Bible」「原理がわかるプログラムの法則」「プログラムの最初の壁」「河西メソッド:C言語プログラム学習の方程式」「基礎から学べるVisualBasic2005標準コースウエア」「基礎から学べるJavaScript標準コースウエア」「基礎から学べるC言語標準コースウエア」「なぞりがきC言語学習ドリル」など(以上技術評論社)