Hoon222y

17장. 문자열(Strings) (2) 본문

코딩/뇌자극C++

17장. 문자열(Strings) (2)

hoon222y 2016. 2. 11. 14:46

이번에는 C,C++스타일 문자열을 혼합해서 사용하는 방법에 대해 알아보자 .

각각의 스타일만 사용해도 되긴하지만, 큰 프로그램을 만드는 과정에서 여러사람이 문자열을 사용하는 방법이 각각이기      때문에 잘 혼합하여 사용하는것이 중요하다.

다음 코드를 보자. C스타일과 C++ 스타일이 섞여있다.

c_str()함수를 통해 문자열을 복사하는것을 볼 수 있다. 하지만 이 함수를 통해 얻은 문자열은 오로지 읽는 용도로 밖에 사용할 수 없다. 즉 cstyle을통해 cppstyle의 문자열을 변경할 수 없다는 뜻이다.

문자열을 완전히 얻어와 변경까지 가능하게 하고싶다면 strcpy() 함수를 사용해야 한다. 코드를 보자.

코드를 보면 strcpy(cstyle,cppstyle.c_str()) 을 통해 문자열을 복사하고 문자열을 수정하는것을 볼 수 있다.


마지막으로는 문자열을 콘솔창에 입력하고 출력하는 것에 대해 알아보자.

문자열을 입력받을때는 NULL문자를 기준으로 잘리기 때문에 "가나다 라마바" 라고 입력을 하게되면 가나다 까지만 인식을 하게된다.

이 문제를 해결하기 위한 방법이 바로 getline()이다.

getline의 경우 C와 C++스타일마다 사용법이 다른데 먼저 C스타일을 보면

cin.getline(입력받을 변수, 메모리의 크기) 로 사용하고 C++ 스타일의 경우에는

getline(cin,입력받을 변수) 로 사용한다.

이정도로 문자열에 대한것은 마무리하고 다음에는 헤더파일에 대해 알아보도록 하자. 


'코딩 > 뇌자극C++' 카테고리의 다른 글

20장. 객체지향 프로그래밍  (0) 2016.02.11
18장. 헤더파일과 구현파일  (0) 2016.02.11
17장. 문자열(Strings) (1)  (0) 2016.02.11
16장. 동적 메모리 할당  (0) 2016.02.10
Comments