1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | #include <iostream> #include <string> #include <algorithm> using namespace std; int main(){ // [문자열] // 문자열 비교 string.compare() 같으면 0, 다르면 -1 리턴 cout << "[String compare]" << '\n'; string a = "abc"; string b = "abcd"; a.compare(b); // 문자열 조회 및 찾기 string.find() cout << "[String find]" << '\n'; a = "abcd"; int i; cout << a.find('a') << '\n'; // 0 cout << a.find("bcd") << '\n'; // 1 cout << a.find("g") << '\n'; // 존재하지 않는 숫자, 엉뚱한 숫자가 나옴 i = a.find("g"); cout << i << '\n'; // -1 // 존재하지 않으면 - 1 리턴 // 존재하면 해당 문자 혹은 문자열이 위치하는 인덱스 값을 리턴 // 그래서 find 결과가 0 이상인지 아닌지 확인하는 과정 경우에 따라 추가 필요할 수 있음 // 문자열 인덱스의 값 찾기 at cout << "[String at]" << '\n'; a = "abcd"; cout << a.at(0) << '\n'; // 'a' // 문자열 합치기 +=, append cout << "[String +=, append]" << '\n'; a = ""; a += "abcd"; //abcd a.append("bbbb"); // 문자열 "bbbb" append cout << a << '\n'; // abcdbbbb a.append("abcd", 2); // abcd의 인덱스 0부터 2개 "ab" append cout << a << '\n'; // abcdbbbbab a.append("abcdefg", 1, 3); // abcdefg의 인덱스 1부터 3개 "bcd" append cout << a << '\n'; // abcdbbbbabbcd // 문자열 삽입 insert(index, str) cout << "[String insert]" << '\n'; a = "i coding"; a.insert(1, " like"); cout << a << '\n'; // "i like coding" // 해당 index에 값을 넣음, 삽입하는 index에 값이 있었으면 뒤로 밀림 // 문자열 일부영역 지우기 erase cout << "[String erase]" << '\n'; a = "abcdefghjkl"; a.erase(1, 5); // "bcdef"가 삭제됨 cout << a << '\n'; // a는 "aghjkl" // 문자열의 특정문자 모두 지우기 erase(remove(s.begin(), s.end(), char ), s.end()) cout << "[String erase(remove(s.begin(), s.end(), char ), s.end())]" << '\n'; a = "abcdebbasadabbbbb"; a.erase(remove(a.begin(), a.end(), 'b'), a.end()); // 'b' 제거 cout << a << '\n'; // "acdeasada" //문자열 이동 (흡사 ctrl + x) cout << "[String move]" << '\n'; a = "abcd"; b = move(a); // a는 공백, b는 기존 a의 문자열 "abcd"가 이동하여 대입됨 cout << a << '\n'; // 공백 cout << b << '\n'; // "abcd" //문자열 자르기 혹은 추출 substr cout << "[String substr]" << '\n'; a = "good morning Mr Brown"; b = ""; b = a.substr(5, 7); // 인덱스 5부터 7개 cout << b << '\n'; // "moring" b = a.substr(5); // 인덱스 5부터 마지막 인덱스까지 cout << b << '\n'; // "morning Mr Brown" //문자열 replace cout << "[String replace]" << '\n'; a = "i like coding"; string find_str = "like"; string replace_str = "hate"; cout << a << '\n'; // i like coding a.replace(a.find(find_str), find_str.length(), replace_str); cout << a << '\n'; // i hate coding cout << "asdasdasdada" << "\n"; cout << "\n"; return 0; } | cs |
'Programming Language > C++' 카테고리의 다른 글
C++ Template Function (0) | 2019.09.29 |
---|---|
C++ 최소값(min), 최대값(max) 그리고 minmax() (0) | 2019.09.28 |
C++ Template inline function (0) | 2019.09.25 |
C++ 실수 mod (0) | 2019.09.25 |
C++ 피보나치 수열 (0) | 2019.09.25 |