"conv_line_ctrl": Converting line control sequences in C
Happy Hacking! English Here (machine translation)
conv_line_ctrl: 文字列中の改行制御コードを一律変換変換するユーティリティこの C 言語ユーティリティは、文字列中のすべての改行制御コードを引数で指定されたもの (Unix では "\n"、DOS では "\r\n"、MacOS では "\r") に変換します。
count_lines: 改行制御コードに基づいて文字列の行数を計数するユーティリティこの C 言語ユーティリティは、指定された改行制御シーケンスに基づいて、文字列の行数を計数します。
API を使用するためのヘッダは conv_line_ctrl.h で、API の実装は conv_line_ctrl.c です。API の説明は、この文書で後述しています。テスト・プログラム unit_test.c そして make ファイル Makefile も記述しました。
- 文字列中の改行制御コードを一律変換する: conv_line_ctrl()
char *conv_line_ctrl(Conv_line_ctrl_style_t style , char *dst , size_t dst_sz , char *src )
style には改行制御コードの変換内容を指定します。すべての改行制御シーケンスを Unix 形式 "\n" に変換する場合は Conv_line_ctrl_to_Unix を、DOS 形式 "\r\n" だけを Unix 形式にするには Conv_line_ctrl_Dos_to_Unix を、MacOS 形式 "\r" だけを Unix 形式にするには Conv_line_ctrl_Mac_to_Unix を指定します。すべての改行制御シーケンスを DOS 形式に変換する場合は Conv_line_ctrl_to_Dos を、Unix 形式だけを DOS 形式にするには Conv_line_ctrl_Unix_to_Dos を、MacOS 形式だけを DOS 形式にするには Conv_line_ctrl_Mac_to_Dos を指定します。すべての改行制御シーケンスを MacOS 形式に変換する場合は Conv_line_ctrl_to_Mac を、Unix 形式だけを MacOS 形式にするには Conv_line_ctrl_Unix_to_Mac を、DOS 形式だけを MacOS 形式にするには Conv_line_ctrl_Dos_to_Mac を指定します。 dst には変換の結果を展開するバッファのアドレスを指定します。 dst_sz には dst が指すバッファのメモリサイズを指定します。 src には変換される文字列のアドレスを指定します。 正常終了した場合、dst と同じアドレスが戻り値になります。なんらかのエラーが発生した場合は NULL が戻り値になります。発生したエラーの詳細は以下のように errno に出力されます。 - EINVAL (= 22) : 不正な引数が渡された場合
- ENOBUFS (= 105) : 出力先のバッファ・サイズが不足している場合
- 改行制御コードに基づいて文字列の行数を計数する: count_lines()
size_t count_lines(char *src , char *line_ctrl_sequence )
src には行数を計数する文字列を指定します。 line_ctrl_sequence には改行制御シーケンスを表す文字列を指定します (例: Unix なら "\n", DOS なら "\r\n", MaxOS なら "\r")。 正常終了した場合、戻り値は 1 以上の値になります。なんらかのエラーが発生した場合はゼロが返され、errno にエラーの詳細が出力されます。 - EINVAL (= 22) : 不正な引数が渡された場合
|