#include <string>
string str;
str = "I Love";
cout << str << endl;
str.append("C++");
cout << str << endl;
✅ 출력결과
—————————————————————————————————————————————
I Love
I Love C++
—————————————————————————————————————————————
string address("oo시 oo구 oo동");
cout << address << endl;
string copyAddress(address);
cout << copyAddress << endl;
//c-스트링(char[])으로부터 스트링 객체 생성
char text[] = { 'L', 'o', 'v', 'e', '\n' };
string title(text);
cout << title << endl;
✅ 출력결과
—————————————————————————————————————————————
oo시 oo구 oo동
oo시 oo구 oo동
Love
—————————————————————————————————————————————
string str;
//문자열 입력
cin >> str; //띄어 쓰기 값은 블랭크 입력 전까지만 입력이 됨
cout << str << endl;
string str1;
getline(cin, str1, '\n'); //cin 기능을 사용하며 str에다가 입력하고 저장하며 개행 문자가 입력될 시 종료
cout << str1 << endl;
✅ 입력
—————————————————————————————————————————————
aaaaa aaa a a a aaa aa aaa
—————————————————————————————————————————————
출력결과
—————————————————————————————————————————————
aaaaa
aaa a a a aaa aa aaa
—————————————————————————————————————————————
//문자열 => 정수로 변환
string s = "123";
int n = stoi(s);
cout << n << endl;
✅ 출력결과
—————————————————————————————————————————————
123
—————————————————————————————————————————————
//string 객체의 동적 생성
//new, delete
string* p = new string("c++");
cout << *p << endl;
p->append(" Great!"); //동적 할당은 포인터이기 때문에 string 클래스 객체 이므로 ->로 접근
cout << *p << endl;
delete p;
✅ 출력결과
—————————————————————————————————————————————
c++
c++ Great!
—————————————————————————————————————————————
| 멤버 함수 | 설 명 |
|---|---|
| append(string str) | 문자열 뒤에 str 추가 |
| insert(int pos, string str) | 문자열의 pos 위치에 str 삽입 |
| replace(int pos, int n, string str) | 문자열의 pos 위치부터 n개 문자를 str 문자열로 대치 |
| size(), length() | 문자열의 길이 리턴 |
| erase(int pos, int n) | 문자열의 pos 위치부터 n개의 문자 삭제 |
| clear() | 문자열 모두 삭제, 크기가 0이 됨 |
| empty() | 문자열의 크기가 0이면 true, 아니면 false |
| at(int pos) | 문자열의 pos 위치의 문자(char) 리턴 |
| find(string str) | 문자열의 처음부터 str을 검색하여 시작 인덱스를 리턴 |
| compare(string str) | 문자열과 str을 비교, 같으면 0, 문자열이 작으면 -1, 크면 1 |
| subset(int pos, int n) | 문자열의 pos 위치부터 n개 문자를 서브스트링으로 생성 |
| swap(string str) | 현재 객체의 문자열과 str의 문자열을 서로 바꿈 |
string s = "C++";
string s1 = "C";
string s2 = "Java";
| 연산자 | 설명 |
|---|---|
| s1 = s2 | s1 = “Java” |
| s[] | char c = s[1] ⇒ c = ‘+’ |
| s1 + s2 | “CJava” |
| s1 += s2 | s1 = “CJava” |
| s1 == s2 | false |
| s1 ! = s2 | true |
| s1 < s2 | true |
| s1 > s2 | false |
| s1 < = s2 | true |
| s1 > = s2 | false |
#include <iostream>
#include <string>
using namespace std;
int main()
{
//문자열 배열 선언
string names[5];
for (int i = 0; i < 5; i++)
{
cout << "이름 : ";
getline(cin, names[i], '\n');
}
string latter = names[0];
for (int i = 1; i < 5; i++)
{
if (latter < names[i])
{
latter = names[i];
}
}
cout << "(사전식)가장 뒤에 나오는 이름 = " << latter << endl;
return 0;
}
✅ 입력
—————————————————————————————————————————————
이름 : ㅁ
이름 : ㄹ
이름 : ㅎ
이름 : ㄷ
이름 : ㅅ
—————————————————————————————————————————————
출력결과
—————————————————————————————————————————————
(사전식)가장 뒤에 나오는 이름 = ㅎ
—————————————————————————————————————————————
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
cout << "문자열 입력(한글 안됨)";
getline(cin, str);
//문자열의 길이
int len = str.length();
for (int i = 0; i < len; i++)
{
//맨 앞에 있는 문자 1개를 읽어옴(분리)
string first = str.substr(0, 1);
string sub = str.substr(1, len - 1);
str = sub + first;
cout << str << endl;
}
return 0;
}
✅ 입력
—————————————————————————————————————————————
문자열 입력(한글 안됨)I love you
—————————————————————————————————————————————
출력결과
—————————————————————————————————————————————
love youI
love youI
ove youI l
ve youI lo
e youI lov
youI love
youI love
ouI love y
uI love yo
I love you
—————————————————————————————————————————————