文字列('\0'で終わる)を扱う。最初に現れる位置を捜す。文字列('\0'で終わる)を扱う。最後に現れる位置を捜す。含まない先頭部分の最大の長さを求める。含む先頭部分の最大の長さを求める。最初に現れる位置を捜す。最初に現れる位置を捜す。文字列を文字群で字句に分割する。配列に文字をセットする。エラー番号からメッセージ文字列を求める。文字列の長さを求める。表記規則の集合である。[2]ロケールを設定するにはlocale.hのsetlocale関数を用いる。詳細は文化圏固有操作<locale.h>を参照せよ。型[編集]size_tsize_tは、sizeof演算子の結果の符号なし整数型とする。[3]マクロ[編集]NULLNULLは、処理系定義の空ポインタ定数に展開する。機能s2が指すオブジェクトから、s1が指すオブジェクトに、n文字コピーする。s1とs2が重なっている場合、その動作は未定義である。返却値はs1の値を返す。機能s2が指すオブジェクトから、s1が指すオブジェクトに、n文字コピーする。s1とs2が重なっていてもよい。返却値はs1の値を返す。機能s2が指す文字列(終端ナル文字を含む)をs1が指す配列にコピーする。s1とs2が重なっている場合、その動作は未定義である。返却値はs1の値を返す。機能s2が指す配列から、s1が指す配列に、n個以下の文字(ナル文字に続く文字はコピーしない。s1とs2が重なっている場合、その動作は未定義である。s2が指す配列がn文字より短い配列である場合、s1が指す配列中のコピーの後ろに、全体でn文字書き込むまでナル文字を付加する。返却値はs1の値を返す。機能s2が指す文字列(終端ナル文字を含む。)のコピーをs1が指す文字列の最後に付加する。s2の先頭の文字が、s1が指す文字列の最後のナル文字を書き換える。s1とs2が重なっている場合、その動作は未定義である。返却値はs1の値を返す。機能s2が指す配列からn個以下の文字を、s1が指す文字列の最後に付加する。(ナル文字及びナル文字に続く文字は付加しない。)s2の先頭の文字が、s1が指す文字列の最後のナル文字を書き換える。終端ナル文字を常に結果に付加する。s1とs2が重なっている場合、その動作は未定義である。返却値はs1の値を返す。値の差の符号によって決定する。機能s1が指すオブジェクトの始めのn文字と、s2が指すオブジェクトの始めのn文字を比較する。返却値はs1がs2より大きいか、等しいか、又は小さいかによって、それぞれ、0より大きい、0に等しい、又は0より小さい整数を返す。1);if(ret==0)printf("s1とs2の初めの1文字を比較すると、s1はs2と等しい。if(ret>0)printf("s1とs2の初めの1文字を比較すると、s1はs2より大きい。if(ret<0)printf("s1とs2の初めの1文字を比較すると、s1はs2より小さい。2);if(ret==0)printf("s1とs2の初めの2文字を比較すると、s1はs2と等しい。if(ret>0)printf("s1とs2の初めの2文字を比較すると、s1はs2より大きい。if(ret<0)printf("s1とs2の初めの2文字を比較すると、s1はs2より小さい。機能s1が指す文字列とs2が指す文字列を比較する。返却値はs1が指す文字列が、s2が指す文字列より大きいか、等しいか、又は小さいかによって、それぞれ、0より大きい、0に等しい、又は0より小さい整数を返す。s2);if(ret==0)printf("s1とs2を比較すると、s1はs2と等しい。if(ret>0)printf("s1とs2を比較すると、s1はs2より大きい。if(ret<0)printf("s1とs2を比較すると、s1はs2より小さい。機能s1が指す文字列とs2が指す文字列を比較する。このとき、いずれの文字列も、その時点のロケールのLC_COLLATEカテゴリに従って解釈する。返却値は、s1が指す文字列及びs2が指す文字列をその時点のロケールに従って解釈したとき、s1が指す文字列が、s2が指す文字列より大きいか、等しいか、又は小さいかによって、それぞれ、0より大きい、0に等しい、又は0より小さい整数を返す。s2);if(ret==0)printf("s1とs2を\"C\"ロケールで比較すると、s1はs2と等しい。if(ret>0)printf("s1とs2を\"C\"ロケールで比較すると、s1はs2より大きい。if(ret<0)printf("s1とs2を\"C\"ロケールで比較すると、s1はs2より小さい。s2);if(ret==0)printf("s1とs2を\"JPN\"ロケールで比較すると、s1はs2と等しい。if(ret>0)printf("s1とs2を\"JPN\"ロケールで比較すると、s1はs2より大きい。if(ret<0)printf("s1とs2を\"JPN\"ロケールで比較すると、s1はs2より小さい。機能s1が指す配列をs2が指す配列と比較する。比較する文字はn文字以下とする。(ナル文字に続く文字は比較しない)返却値は、s1が指す配列(ナル文字で終了しうる)が、s2が指す配列(ナル文字で終了しうる)より大きいか、等しいか、又は小さいかによって、それぞれ、0より大きい、0に等しい、又は0より小さい整数を返す。1);if(ret==0)printf("s1とs2の初めの1文字を比較すると、s1はs2と等しい。if(ret>0)printf("s1とs2の初めの1文字を比較すると、s1はs2より大きい。if(ret<0)printf("s1とs2の初めの1文字を比較すると、s1はs2より小さい。4);if(ret==0)printf("s1とs2の初めの4文字を比較すると、s1はs2と等しい。if(ret>0)printf("s1とs2の初めの4文字を比較すると、s1はs2より大きい。if(ret<0)printf("s1とs2の初めの4文字を比較すると、s1はs2より小さい。した結果の文字列の長さ機能s2が指す文字列を変換し、その結果の文字列をs1が指す配列に格納する。その変換は次の通りとする。strcmp関数を変換結果の2つの文字列に適用した場合、strcmp関数が0より大きい値を返すか、0を返すか、又は0より小さい値を返すかは、2つの変換前の文字列をstrcoll関数に適用した結果と一致する。終端ナル文字を含めて、n個を超える文字を、s1が指す結果の配列に格納することはない。nが0である場合、s1は空ポインタであってもよい。s1とs2が重なっている場合、その動作は未定義である。返却値は、変換した結果の文字列(終端ナル文字は含まない)の長さを返す。返却された値がn以上の場合、s1が指す配列の内容は不定とする。char型として解釈する。char型に型変換する。)が最初に現れる位置を捜す。返却値は、捜し出した文字へのポインタを返す。オブジェクトの中にその文字が現れない場合、空ポインタを返す。3);if(p)printf("sの初めの3文字の中で'd'が最初に現れる位置は[%d]。p-s);elseprintf("sの初めの3文字の中で'd'は現れない。6);if(p)printf("sの初めの6文字の中で'd'が最初に現れる位置は[%d]。p-s);elseprintf("sの初めの6文字の中で'd'は現れない。捜し出した文字へのポインタ機能sが指す文字列の中で、c(char型に型変換する。)が最初に現れる位置を捜す。終端ナル文字は文字列の一部とみなす。返却値は、捜し出した文字へのポインタを返す。文字列の中にその文字が現れない場合、空ポインタを返す。'd');if(p)printf("sの中で'd'が最初に現れる位置は[%d]。p-s);elseprintf("sの中で'd'は現れない。長さ機能s1が指す文字列の中で、s2が指す文字列中の文字を含まない先頭部分の最大の長さを計算する。返却値は、その先頭部分の長さを返す。s2);printf("%sの中で%sの文字群が含まれない先頭部分の最大の長さは%dです。s3);printf("%sの中で%sの文字群が含まれない先頭部分の最大の長さは%dです。ポインタ機能s1が指す文字列の中で、s2が指す文字列の中のいずれかの文字が最初に現れる位置を捜す。返却値は、その文字へのポインタを返す。s1が指す文字列の中に、s2が指す文字列の中のいずれの文字も現れない場合、空ポインタを返す。s2);if(p)printf("%sの中で%sの文字群が最初に現れる位置は[%d]です。p-s1);elseprintf("%sの中で%sの文字群は現れない。s3);if(p)printf("%sの中で%sの文字群が最初に現れる位置は[%d]です。p-s1);elseprintf("%sの中で%sの文字群は現れない。文字へのポインタ機能sが指す文字列の中で、c(char型に型変換する。)が最後に現れる位置を捜す。終端ナル文字は文字列の一部とみなす。返却値はその文字へのポインタを返す。文字列の中にcが現れない場合、空ポインタを返す。'd');if(p)printf("%sの中で'd'が最後に現れる位置は[%d]です。p-s);elseprintf("%sの中で'd'は現れない。長さ機能s1が指す文字列の中で、s2が指す文字列中の文字だけを含む先頭部分の最大の長さを計算する。返却値は、その先頭部分の長さを返す。s2);printf("%sの中で%sの文字群が含まれる先頭部分の最大の長さは%dです。s3);printf("%sの中で%sの文字群が含まれる先頭部分の最大の長さは%dです。探し出した文字列へのポインタ機能s1が指す文字列の中で、s2が指す文字列の中の文字の並び(終端ナル文字を除く。)が最初に現れる位置を捜す。返却値は、探し出した文字列へのポインタを返す。その文字列が見つからなかった場合、空ポインタを返す。s2が長さ0の文字列を指す場合、s1を返す。s2);printf("%sの中で%sの文字列が最初に現れる位置は[%d]です。s3);printf("%sの中で%sの文字列が最初に現れる位置は[%d]です。最初の文字へのポインタ機能strtok関数の一連の呼び出しは、s1が指す文字列を、s2が指す文字列の中のいずれかの文字で区切られる字句の列に分割する。一連の呼び出しの最初の呼び出しでは、第1実引数として空ポインタ以外を指定する。それ以降の呼び出しでは、第1実引数として空ポインタを指定する。s2が指す区切り文字は、呼出しごとに異なっていてもよい。一連の呼び出しの中の最初の呼び出しでは、s2が指すその時点での区切り文字列に含まれない最初の文字を、s1が指す文字列中で捜す。その文字が見つからない場合、s1が指す文字列には字句が存在せず、strtok関数は空ポインタを返す。その文字が見つかった場合、それを最初に字句の始まりとする。次に、strtok関数は、見つかった文字の位置からその時点での区切り文字列に含まれている文字を捜す。その文字が見つからない場合、その時点の字句をs1が指す文字列の最後までとみなし、次回以降の探索では空ポインタを返す。その文字が見つかった場合、その文字をナル文字で書き換え、その時点の字句を終了させる。strtok関数はその次の文字へのポインタを保持しておき、字句の次の探索はそこから開始する。第1実引数の値が空ポインタを持つ2回目以降の各呼び出しでは、保持したポインタが指すところから探索を開始する以外は、これと同じ動作をする。処理系は、いかなるライブラリ関数もstrtok関数を呼び出さない場合の動作と同じ動作をしなければならない。返却値は、字句の最初の文字へのポインタを返す。字句が存在しない場合、空ポインタを返す。char型に型変換する。)の値を、sが指すオブジェクトの最初のn文字のそれぞれにコピーする。返却値は、sの値を返す。ポインタ機能errnumに入っている番号をメッセージ文字列に対応付ける。典型的にはerrnumの値は、errnoが使われるが、strerror関数はint型の全ての値に対してメッセージを割り当てなければならない。処理系は、いかなるライブラリ関数もstrerror関数を呼び出さない場合の動作と同じ動作をしなければならない。返却値は、文字列へのポインタを返す。その内容は、文化圏固有とする。このポインタが指す配列をプログラムで変更してはならないが、strerror関数のそれ以降の呼び出しで書き変わることがある。長さ機能sが指す文字列の長さを計算する。返却値は、終端ナル文字に先行する文字の個数を返す。len;len=strlen(s);printf("%sの長さは%dです。表示-継承ライセンスのもとで利用できます。追加の条件が適用される場合があります。詳細については利用規約を参照してください。Cookieに関する声明モバイルビュ。