151~161
string은 연산자를 이용가능하다.
string a = {"abc"};
string b = {"def"};
string c;
c = a + b; //c가 abcdef가 된다.
string ab[2] {"abc", "def"};
cout << ab[0] << "\n"; //abc
cout << ab[0][0] << "\n"; //a
for (int i = 0; i < sizeof(ab) / sizeof(string); i++)
{
for (int j = 0; j < ab[i].length(); j++)
{
cout << ab[i][j];
}
}
- sizeof(ab) / sizeof(string)은 ab의 총개수를 뜻한다 2
- ab[i].length()는 i에 속한 것들의 개수를 나타낸다. 3
char문자열의 복사와 추가
strcpy(charr1, charr2); //charr2내용을 charr1에 복사한다.
//복사할 내용이 복사할 곳의 공간보다 크면 안 된다.
strcpy_s(charr1, strlen(charr2) + 1, charr2);
//charr2의 내용을 charr1에 charr2의 내용 + 1의 길이로 복사한다.
//가운데의 숫자는 charr1의 최대길이 + 1 ~ 복사할 charr2의 길이 + 1 사이의 값을 넣으면 된다.
//복사할 charr2의 길이 + 1을 넣는것이 좋은듯하다.
//문자내용만 복사가 된다.
strcat(charr1, charr2); //charr2의 내용을 charr1에 추가한다.
//추가할 내용이 추가할 곳의 공간보다 크면 안 된다.
strlen(charr1); //charr1의 길이(갯수)를 구한다.
raw문자열
cout << R"( Hello " World "n\)";
//출력
Hello " World "n\
소문자->대문자, 대문자->소문자 변경
string x = "Dd93DDEEDs";
x[0] = tolower(x[0]); //문자 하나가 대문자면 소문자로 변경
cout << x; //dd93DDEEDs
x[0] = toupper(x[0]); //문자 하나가 소문자면 대문자로 변경
cout << x; //Dd93DDEEDs
string에 한줄로 문자 입력받기
#include <string>
string name[2];
getline(cin, name[0]); //str에 한줄로 입력받은 것를 넣는다. 엔터전까지 받아옴
getline(cin, name[1]); //getline은 string을 include해야 사용가능
cout << name[0] <<"\n";
cout << name[1];
'C++ > Basic' 카테고리의 다른 글
구조체(struct) (0) | 2021.02.22 |
---|---|
포인터 (0) | 2021.02.22 |
vector, pair, tuple을 vector에 넣기 (0) | 2021.01.08 |
상수(const) (0) | 2020.11.04 |
공용체(union), 열거체(enum) (0) | 2020.10.16 |