C言語⑬[strlen,strcpy,strcat,strcmp]

文字列関数(string.hincludeする必要あり)

●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よりも辞書的に前(小さい)

コメント

タイトルとURLをコピーしました