文字列関数(string.hをincludeする必要あり)
●strlen() …文字列の長さを得る(\0:ヌル文字は含まれない)
char str[] = "abcde";
int len = (int)strlen(str);
printf("文字列 = %d\n", len);
実行結果
文字列 = 5
●strcpy() …文字列をコピーする(strcpyは現在安全ではないためstrcpy_sを使う)
char str[] = "abcde";
int len = (int)strlen(str);
printf("文字列 = %d\n", len);
char buff[100];
strcpy_s(buff, str);
printf("コピーした文字列:%s\n", buff);
実行結果
文字列 = 5
コピーした文字列:abcde
●strcat() …文字列を結合する(strcatは現在安全ではないためstrcat_sを使う)
char str[] = "abcde";
int len = (int)strlen(str);
printf("文字列 = %d\n", len);
char buff[100];
strcpy_s(buff, str);
printf("コピーした文字列:%s\n", buff);
strcat_s(buff, "FFIIGG");
printf("結合した文字列:%s\n", buff);
実行結果
結合した文字列:abcdeFFIIGG
●strcmp() …文字列を比較する
char str[] = "abcde";
int len = (int)strlen(str);
printf("文字列 = %d\n", len);
char buff[100];
strcpy_s(buff, str);
printf("コピーした文字列:%s\n", buff);
strcat_s(buff, "FFIIGG");
printf("結合した文字列:%s\n", buff);
int val = strcmp(str, buff);
printf("比較結果=%d\n", val);
実行結果
文字列 = 5
コピーした文字列:abcde
結合した文字列:abcdeFFIIGG
比較結果=-1
valの値が0 : str と buff が等しい
valの値がプラス : strの方がbuffよりも辞書的に後(大きい)
valの値がマイナス: strの方がbuffよりも辞書的に前(小さい)

コメント