○string

■文字の結合

#include <stdio.h>
#include <string>

int main(){
	std::string a,b,c;
	a="test";
	b="inaba";
	c=a+b;
	printf("%s\n",c.c_str());
	return 0;
}

処理結果
testinaba

■char*への変換

#include <stdio.h>
#include <string>

int main(){
	std::string a;
	char*c="いなば";
	a=c;//char*→string
	char *d=(char*)a.c_str();//string→char*
	printf("%s\n",d);
	return 0;
}

処理結果
いなば

■同じかどうかの判定

#include <stdio.h>
#include <string>

int main(){
	std::string a,b;

	a="テスト";
	b="テスト";
	if(a==b) printf("同じ\n");else printf("違う\n");

	a="テスト";
	b="いなば";
	if(a==b) printf("同じ\n");else printf("違う\n");

	return 0;
}

処理結果
同じ
違う

■大小関係の判定

#include <stdio.h>
#include <string>

int main(){
	std::string a,b;

	a="a";
	b="aa";
	if(a<b) printf("<\n");else printf(">=\n");

	a="aa";
	b="b";
	if(a<b) printf("<\n");else printf(">=\n");

	a="aa";
	b="ab";
	if(a<b) printf("<\n");else printf(">=\n");

	return 0;
}

処理結果
<
<
<

■ポインタのstringの扱い

#include <stdio.h>
#include <string>

int main(){
	std::string*str;
	std::string a;
	str=&a;
	*str="test";

	printf("%c\n",str[0][0]);
	printf("%c\n",str[0][1]);
	printf("%c\n",str[0][2]);
	printf("%c\n",str[0][3]);

	return 0;
}

出力結果
t
e
s
t



▲トップページ > Windows と C++