거의 알고리즘 일기장

string의 사용방법들 (예제) 본문

c++ 문법

string의 사용방법들 (예제)

건우권 2020. 4. 16. 19:37

string의 사용방법들

#include <iostream>
#include <vector>
#include <string>
#include <sstream>

using namespace std;

//osstream을 이용해서 문자열로 변환하기?
template <typename T>
string Tostring(T x)
{
	ostringstream osstream;
	osstream << x;
	return osstream.str();
}

//istringstream을 이용해서 문자열에서 T형으로 변환가능한지 확인하는 함수
//아직 배우지 않은 항목
template <typename T>
bool FromString(const string& str, T& x)
{
	istringstream isstream(str);
	return (isstream >> x) ? true : false;
}

int main()
{
	string my_string(Tostring("hello"));

	double d;

	if (FromString(my_string, d))
		cout << d << endl;
	else
		cout << "cannot covert string to double" << endl;

	return 0;
}
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
	//뒤에 null없음
	string str("abcdefg");

	//가져올때는 뒤에 null붙여서 보내줌
	//data나 c_str이나 똑같음
	const char* arr = str.c_str();
	const char* arr2 = str.data();
	cout <<(int)arr[6] << endl;
	cout << (int)arr[7] << endl;

	char buf[20];

	//copy는 뒤에 null 안붙여줌 그러므로 내가 붙여야함
	str.copy(buf, 6, 0);
	buf[6] = '\0';
	cout << buf << endl;

	return 0;
}
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>

using namespace std;

int main()
{
	string str1("one");
	string str2;
	str2 = str1;
	str2 = "two";
	//자기자신이 return type이라 channing?가능
	str2.assign("two").append(" ").append("three");

	cout << str2 << endl;

	//swap
	string str3("one");
	string str4("two");
	swap(str1, str2);
	str1.swap(str2);

	//append 
	str1 += "three";
	str1 = str2 + "four";
	//한글자만 가능
	str1.push_back('a');

	cout << str1 << endl;

	//insert
	str1.insert(2, "abcd");
	cout << str1 << endl;

	return 0;
}
반응형
Comments