티스토리 뷰
size(), length(), c_str()
- size(), length()
- 문자열의 길이를 반환
- size()를 더 많이 사용함
string firstName = ANGL;
cout << firstName.size() << endl;
cout << firstName.length() << endl;
- c_str()
- const char*
- 해당 string이 가지고 있는 문자 배열의 시작 주소를 가리키는 포인터를 반환
- 굳이 이렇게 쓰는 이유는 C++는 C와 함께 작동한다. 그런데 C함수들은 옛날 방식의 string을 받기 때문에 string 클래스를 받을 순 없고 C 스타일의 배열로된 string을 써야되기 때문.
- 대부분 운영체제의 함수들도 C기반으로 짜여있기 때문에 char*를 요청하기 때문에 이런 함수를 사용한다.
string line;
cin >> line;
const char* cLine = line.c_str();
string 속의 한 문자에 접근하기
at()
- at()
- 해당 문자열에서 주어진 위치에 있는 문자를 참조로 반환
- 굳이 쓸 필요가 없기 때문에 생각보다 많이 안씀.
// ANGL로 바꾸고 싶을 때
string firstName = ANgL;
char letter = firstName.at(1);
firstName.at(2) = 'G';
한 줄 읽기
getline()
string mailHeader;
// '\n' 문자를 만날 때까지 cin에서 문자들을 꺼내서
// mailHeader에 저장
getline(cin, mailHeader);
// '@' 문자를 만날 때까지 cin에서 문자들을 꺼내서
// mailHeader에 저장
getline(cin, mailHeader, '@');
- 다음의 조건을 만족할 때까지 계속해서 스트림에서 문자들을 꺼내 string에 저장
- end-of-file을 만날 때 (eofbit 값이 true가 됨)
- 구분 문자(delimiter)를 만날 때까지 (구분 문자는 버려짐)
'컴퓨터 언어 공부 > C & C++' 카테고리의 다른 글
(C언어) scanf 함수 사용시 C4996 에러 (0) | 2019.10.10 |
---|---|
(C++) C++에서 C 헤더 쓰는 법 (0) | 2019.09.20 |
main() 함수는 정수 값을 운영체제에 반환한다 (0) | 2019.09.03 |
(용어 정리) 인터럽트 / 호출자 / 수신자 / 반환 값 (0) | 2019.09.03 |
(용어 정리) cin / cout / L-Value, R-Value (0) | 2019.09.03 |
댓글