관리 메뉴

Enjoy what you do!

C++ string 문자열 나누기 (stringStream 사용, sstream 사용) 본문

프로그래밍 언어/C++

C++ string 문자열 나누기 (stringStream 사용, sstream 사용)

쵸코맛 비비빅 2018. 9. 15. 16:32

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
Comments