teamnote history merge
This commit is contained in:
132
2025spring/source/String/std::string.cpp
Normal file
132
2025spring/source/String/std::string.cpp
Normal file
@@ -0,0 +1,132 @@
|
||||
/////////////////////////////////////////////////////////
|
||||
string s; //변수 선언
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////
|
||||
string s = "Hwan"; //output : Hwan
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////
|
||||
string s1("Hwan"); //output ㄷ: Hwan
|
||||
string s2(4, 'A'); //output : AAAA
|
||||
string s3(s1, 0, s1.length() - 2); //output : HW
|
||||
string s4(s1, 2, s1.length()); //output : an
|
||||
string s5(s2); //output : AAAA
|
||||
string s6("ABCDE", 3); //output : ABC
|
||||
|
||||
char c[] = "TEST Code!!";
|
||||
string s7(c); //output : TEST Code!!
|
||||
/////////////////////////////////////////////////////////
|
||||
string s = "ABCDE123";
|
||||
|
||||
cout << s.at(2) << endl; //output : C (범위가 맞지 않으면 예외처리를 함)
|
||||
cout << s[0] << endl; //output : A
|
||||
cout << s.front() << endl; //output : A
|
||||
cout << s.back() << endl; //output : 3
|
||||
|
||||
const char * c = s.c_str(); //배열로써 접근이 가능하며 '\0'에 접근이 가능하다.
|
||||
|
||||
cout << c << endl; //output : ABCDE123
|
||||
|
||||
cout << (c_arr == s) ? true : false; //output : 1(true)
|
||||
cout << (&(c_arr[0]) == &(s[0])) ? true : false; //output : 1(true)
|
||||
|
||||
/////////////////////////////////////////////////////////
|
||||
string s = "ABCDE123";
|
||||
string::iterator iter = s.begin();
|
||||
string r_s, cp;
|
||||
|
||||
for (; iter != s.end(); iter++) {
|
||||
cout << *iter;
|
||||
if (*iter == 'E')
|
||||
break;
|
||||
} //output : ABCDE
|
||||
|
||||
|
||||
copy(s.rbegin(), s.rend(), back_inserter(r_s));
|
||||
copy(s.begin(), s.end(), back_inserter(cp));
|
||||
|
||||
cout << r_s << endl; //output : 321EDCBA
|
||||
cout << (s == r_s) ? true : false; //output : 0(false)
|
||||
cout << (s == cp) ? true : false; //output : 1(true)
|
||||
cout << (&(s[0]) == &(cp[0])) ? true : false; //output : 0(false)
|
||||
/////////////////////////////////////////////////////////
|
||||
string s = "ABCDE123"
|
||||
|
||||
s.insert(0, "TEST"); //output : TESTABCDE123
|
||||
s.insert(s.begin() + s.find_first_of('D') + 1, ':'); // output : TESTABCD:123(문자만 가능)
|
||||
|
||||
|
||||
////////// (compare) s = TESTABCD:123 /////////////
|
||||
s.compare("TESTABCD:123"); //output : 0
|
||||
s.compare("a"); //output : -1
|
||||
s.compare("X"); //output : -1
|
||||
s.compare("BBBBBBBBBBBBBBB"); //output : 1
|
||||
s.compare("100000000000000000000000"); //output : 1
|
||||
s.compare("VVVVV"); //output : -1
|
||||
|
||||
|
||||
////////// (erase) s = TESTABCD:123 /////////////
|
||||
s.erase(0, 4); //output : ABCD:123
|
||||
s.erase(find(s.begin(), s.end(), 'D')); //output : ABC:123('D'만 지움)
|
||||
s.erase(s.find(':')); //output : ABC(':'부터 뒤 문자까지 모두 지움)
|
||||
|
||||
|
||||
////////// (push, pop) s = ABC /////////////
|
||||
s.push_back('S'); //output : ABCS
|
||||
s.pop_back(); //output : ABC
|
||||
|
||||
|
||||
////////// (append) s = ABC /////////////
|
||||
s.append("TEST"); //output : ABCTEST
|
||||
s.append(1, '1'); //output : ABCTEST1
|
||||
s.append("123456789", 3, 3); //output : ABCTEST1456
|
||||
|
||||
|
||||
////////// (clear) s = ABCTEST1456 /////////////
|
||||
const char c[] = "Hwan";
|
||||
s.append(c); //output : ABCTEST1456Hwan
|
||||
s += c; //output : ABCTEST1456HwanHwan(capacity() = 15 -> 31)
|
||||
s.clear(); //s.size() = 0, s.capacity() = 31
|
||||
|
||||
|
||||
////////// (replace) s = '' /////////////
|
||||
s.append("ABCD123"); //output : ABCD123
|
||||
s.replace(4, 2, "Hwan"); //output : ABCDHwan3
|
||||
s.replace(s.find('H'), s.size() - s.find('H'), "WOW"); //output : ABCDWOW
|
||||
|
||||
|
||||
////////// (substr) s = ABCDWOW /////////////
|
||||
string temp = s.substr(4); //output : WOW;
|
||||
temp = s.substr(3, 2); //output : DW;
|
||||
temp = s.substr(s.size() - 3, 50); //output : WOW;
|
||||
|
||||
|
||||
////////// (copy) s = ABCDWOW /////////////
|
||||
char arr[5]{};
|
||||
s.copy(arr, sizeof arr - 1); //output : ABCD (마지막 '\n' 포함)
|
||||
|
||||
|
||||
////////// (resize) s = ABCDWOW /////////////
|
||||
s.resize(100); //output : ABCDWOW, s.size() = 100, s.capacity() = 111
|
||||
s.resize(4); //output : ABCD, s.size() = 4, s.capacity() = 15
|
||||
|
||||
|
||||
////////// (swap) s = ABCD /////////////
|
||||
string sw = "AAA";
|
||||
s.swap(sw); //s = "AAA", sw = "ABCD"
|
||||
|
||||
|
||||
/////////// c++ 20 ///////////////////
|
||||
s = "hello Hwan";
|
||||
s.starts_with("hello"); //output : true;
|
||||
s.starts_with('h'); //output : true;
|
||||
s.starts_with("Hwan"); //output : false;
|
||||
s.starts_with('x'); //output : false;
|
||||
|
||||
s.ends_with("Hwan"); //output : true;
|
||||
s.ends_with('n'); //output : true;
|
||||
s.ends_with("hello"); //output : false;
|
||||
s.ends_with('q'); //output : false;
|
||||
Reference in New Issue
Block a user