일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정보처리기사
- 변화
- 개발 언어 순위
- 프로그래밍
- 정처기 후기
- 점유율
- 말의품격 이기주 힐링 책 도서
- 정보처리기사 공부법
- 개발 언어
- 그레이시
- 실기
- 2017티스토리결산
- 순위
- 필기
- 브라이언 오르테가
- 시나공
- Language
- 주짓수
- 정처기 실기
- 정처기
- 2017
- 정처기 공부법
- 2018 정보처리기사
- 언어
- 언어 순위
- 프로그래밍 언어 순위
- 정보처리기사 후기
- 프로그래밍 언어
- 2018 정처기
- 정처기 필기
- Today
- Total
Enjoy what you do!
C++ string 문자열 나누기 (stringStream 사용, sstream 사용) 본문
1. stringstream 사용
#include <sstream>
string str1 = "23 259 .326 22 a 15";
string str2 = "1 263avj 3135df 3235 baij af9i39a fklk30";
stringstream ss(str1);
string k;
while(ss >> k)
cout << k << endl;
ss.clear();
ss.str(str2);
while(ss >> k)
cout << k << endl;
출처: http://word.tistory.com/24 [Life]
2. strtok 사용
#include <cstdio>
#include <cstring> // ->strtok, strcpy
using namespace std;
int main() {
string str = "The Little Prince"; //string 은 strtok 못쓴다 strtok은 char* 만 가능.
char s1[50];
strcpy_s(s1,sizeof(s1) ,str.c_str()); // string을 char*로 변환하기 위한 c_str() 근데 이게 const char* 라서 char*에 안들어간다. 그래서 strcpy로 복사해줌.
char* dd = NULL;
char *ptr = strtok_s(s1, " ",&dd); // " " 공백 문자를 기준으로 문자열을 자름, 포인터 반환
while (ptr != NULL) // 자른 문자열이 나오지 않을 때까지 반복
{
printf("%s\n", ptr); // 자른 문자열 출력
ptr = strtok_s(NULL, " ",&dd); // 다음 문자열을 잘라서 포인터를 반환
}
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
c++ 문자열 입력받기 (0) | 2018.09.28 |
---|---|
c++ 2차원배열 동적할당 (0) | 2018.09.14 |