728x90
반응형
[ string ? ]
C++ STL에서 제공하는 클래스로 문자열을 다루는 클래스이다.
C에서 char*, char[]로 문자열을 다뤘다면, C++에서는 string을 통해 문자열을 하나의 변수처럼 사용할 수 있다.
char*, char []과 다르게 문자열 끝에 '\0' 문자가 들어가지 않고, 문자열의 길이를 동적으로 변경이 가능하다.
● std::cout
std::cout은 Stream buffer에 대한 출력을 제어하기 위한 전역 객체이다. 문자열을 출력하려면 << 연산자를 사용해야 한다.
string strTemp = Rannnneey
std::cout << strTEmp << endl;
● printf
printf() 함수를 이용해서 string을 출력하고 싶었는데 원하는 문자열이 제대로 출력되지 않았다.
string Type의 변수를 printf() 함수를 이용해서 출력하고자 할 때는 c_str() 메서드를 호출해야한다.
string strTemp = Rannnneey
printf("%s", strTemp.c_str());
string은 C에서 정의되어있지 않은 타입이기 때문에 C의 printf() 함수에는 string에 대한 옵션이 없다.
따라서 printf()함수를 이용해 string을 출력하고 싶다면 string을 C-Style로 변환해야 한다.
- .c_Str()
- 출력 형식은 %s를 사용한다.
- Rannnneey를 Rannnneey\n로 반환해준다.
- 반환형이 char*이므로 string의 첫 번째 문자의 주소값(포인터)를 반환한다.
https://stackoverflow.com/questions/10865957/printf-with-stdstring
728x90
반응형