関数split3 マニュアル

(The documentation of function split3)

Last Update: 2022/10/17


◆機能・用途(Purpose)

文字列を指定した区切り文字で分割する。 正しい区切り文字の個数を引数で指定して実際にその個数になっているかをチェックする。 分割後の文字列から成る配列を戻り値として返す。
Decompose a string into multiple parts by a specified character (separater). The correct number of separaters is specified by an argument, and the actual number of separaters is checked. An array composed of the decomposed strings is returned.


◆形式(Format)

#include <mystring.h>
inline char ∗∗split3
(const char ∗original,const char separater,const int correct_number,
 const char ∗variable_name)


◆引数(Arguments)

original 分解する前の文字列。
The string before the decomposition.
separater 区切り文字。
The character used as the separater.
correct_number 分解して得られる部分文字列の個数の正解。 実際の部分文字列の個数がこの値と一致しない場合は プログラムをエラー終了する。
The correct number of the separated partial strings. If the actual number of the separated partial strings is not equal to this value, the program finishes as an error.
variable_name 引数originalが表す文字列の名前または説明。 エラーメッセージの一部として用いられる。
The name or description of the original string, which is used in an error message.


◆戻り値(Return value)

引数originalが表す文字列を引数separaterが表す文字で分解して得られる 部分文字列から成る配列。
An array composed of partial strings obtained by decomposing the string, expressed by argument original, by the character given by argument separater.


◆使用例(Example)

●例1(Example 1)

char ∗∗separated=split("eabcdefgfedcdeedcbae",′e′,7,"original");

この例では第1引数で与えた文字列 "eabcdefgfedcdeedcbae" を第2引数で与えた文字 ′e′ で分解するので配列separatedの中身は以下のようになる。
In this example, the string given by the 1st argument ("eabcdefgfedcdeedcbae") is separated by the character given by the 2nd argument (′e′), yielding the array below.

separated[0]=""
separated[1]="abcd"
separated[2]="fgf"
separated[3]="dcd"
separated[4]=""
separated[5]="dcba"
separated[6]=""


●例2(Example 2)

char ∗∗separated=split("eabcdefgfedcdeedcbae",′e′,4,"original");

例1との違いは第3引数である。 第3引数の値が4になっているので部分文字列の個数は4個でなければならないが、 実際に分解すると7個になってしまう(例1参照)。 そのため以下のメッセージを出力してプログラムをエラー終了する。 メッセージ中の「original」のところに 第4引数が用いられている。
エラー : 文字列originalの値として "eabcdefgfedcdeedcbae"が 指定されていますが、この文字列中の"e"の個数は きっかり3個でなければならないところ、実際には6個でした。
The only difference between the examples 1 and 2 is the value of the 3rd argument. In the example 2, the value of the 3rd argument is 4, meaning that the number of partial strings must be 4. However, the actual number of partial strings is 7 (see the example 1). Therefore the program displays the message below and finishes as an error. The 4th argument is used for the text “original” in this message.
ERROR : "eabcdefgfedcdeedcbae" was specified for the value of string "original", which must consist of exactly 3 characters of "e" while the actual number was 6.”