Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 영어회화 100일의 기적
- 그리디 알고리즘
- yolo
- 다이나믹 프로그래밍
- multiset
- upper_bound
- 인간이 그리는 무늬
- 비트마스크
- 창훈쓰다
- 외판원 순회
- BOJ 2098
- Segment Tree
- MST
- lower_bound
- 언어의 온도
- BFS
- 이분탐색
- 다음 API
- 삼성 코딩테스트
- 성화봉송
- 평창동계올림픽
- boj
- 백트레킹
- 생활코딩
- 캘리그라피
- DP
- 안드로이드 스튜디오
- 위상정렬
- 성화봉송주자
- 다음 지도 api
Archives
- Today
- Total
Hoon222y
17장. 문자열(Strings) (2) 본문
이번에는 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