ITメモ
C言語 / Programming Language C
開発環境 / Development Environment
【Mac】Xcode【Win】Visual Stadio
基礎 / Basic
About C言語書式コメントコンパイルとリンクメイクファイル / Makefileヘッダファイル変数定数型 / Type配列 / Arrayポインタ / Pointer演算子 / Operator制御文 / Control Statement関数指定子 / 修飾子構造体と共用体 / Structure & Unionプリプロセッサ / PreprocessorthisキーワードTypedef
入出力 / Input & Output
入出力入力フォーマット指定子出力フォーマット指定子「printf」関数を使って文字を出力・表示させる方法「printf_s」関数を使って文字を出力・表示させる方法「scanf」関数を使って入力させる方法「scanf_s」関数を使って入力させる方法「getchar」関数を使って「1文字」だけ入力させる方法「gets」関数を使って「文字列」を入力させる方法
文字列 / String
文字列 / String「snprintf」関数で「配列」に文字列を書き込む方法
ネットワーク / Network
memset - メモリブロックのセット
メモリー管理
メモリー
オペレーション / Operation
ファイルを操作をする方法コマンドラインプログラム / Command-Line Programプロセス / Processソケット通信 / Socket Communication
用語集 / Glossary
サブルーチン / Subroutineスタックとキュー / Stack & Cueスレッド / Thread
C言語標準ライブラリ(ヘッダファイル)
C言語標準ライブラリ【assert.h】 - 診断機能【complex.h】 - 複素数計算【ctype.h】 - 文字操作【errno.h】 - エラー【fenv.h】 - 浮動小数点環境【float.h】 - 浮動小数点型の特性【inttypes.h】 - 整数型の書式の変換【iso646.h】 - 代替つづり(Alternate spellings)【limits.h】 - 整数型の大きさ【locale.h】 - 文化圏固有操作【math.h】 - 数学【setjmp.h】 - 非局所分岐【signal.h】 - シグナル操作【stdalign.h】 - アライメント【stdarg.h】 - 可変個数の実引数【stdatomic.h】 - アトミック操作【stdbool.h】 - 論理型および論理値【stddef.h】 - 共通の定義【stdint.h】 - 整数型【stdio.h】 - 入出力【stdlib.h】 - 一般ユーティリティ【stdnoreturn.h】 - _Noreturn【string.h】 - 文字列操作【tgmath.h】 - 型総称数学関数(Type-generic math)【threads.h】 - マルチスレッド【time.h】 - 日付及び時間【uchar.h】 - Unicodeユーティリティ【wchar.h】 - 多バイトおよびワイド文字拡張ユーティリティ【wctype.h】 - ワイド文字種分類およびワイド文字大文字小文字変換ユーティリティ
C言語ライブラリ(ヘッダファイル)
C言語ヘッダファイル【winsock.h】





【C言語】文字列 / String

【C言語】
文字列 / String




文字列処理関数】


ヘッダ: string.h
関数名説明
memchr文字を n バイト中から検索する
memcmpnバイトメモリブロックの比較
memcpynバイトメモリブロックのコピー
memmovenバイトメモリブロックの移動
memsetnバイトメモリブロックのセット
strcat文字列の連結
strchr文字列の先頭から文字を検索する
strcmp文字列の比較
strcpy文字列のコピー
strcspn文字列から文字群が含まれない長さを求める
strerrorエラー番号に対応するエラーメッセージを得る
strlen文字列の長さの取得
strncat文字列をn文字連結
strncmp文字列をn文字比較
strncpy文字列をn文字コピー
strpbrk文字列から文字群が見つかった位置を求める
strrchr文字列の最後から文字を検索する
strspn文字列から文字群が含まれる長さを求める
strstr文字列1から文字列2を検索
strtok文字列を区切り文字で分解する



文字列の代入

「str」をポインタとして宣言し、
「str」に格納されているポイントアドレスを先頭にして¥0までの間に文字を格納する。
char *str;
str = "ABC";
配列に文字列を代入する。 char str[] = "ABCDE";
配列に文字列を代入する。 char str[100]= "Sample Text";



文字列の参照

文字列全体の参照。 printf(“%s\n”,str);
文字列の1文字を出力。 printf(“%c\n”,str[0]);



文字列の分割

#include <string.h>

char *strtok(
char * restrict s1,
const char * restrict s2 /* 区切り文字列 */
);

strtok 関数は,s1 が指す文字列を,s2 が指す文字列の中のいずれかの文字で区切られる字句の列に分割する関数です.

strtok 関数は,若干動作にクセがありますので,先にサンプルプログラムを示します.

■戻り値:
文字列strの中をdlm(デリミッタ文字列)内の各デリミッタ文字で区切って、呼び出す毎に区切った(左側の)文字列のアドレスを返す。 返す文字列がなくなったらNULL(\0)を返す。



文字列から文字列へのコピー

#include <string.h>
char *strcpy(char *str1, char *str2);

文字列str1に文字列str2をコピーする。