본문 바로가기

Programming/C,C++

[C/C++] 문자열 엔터까지 한번에 받기(공백 포함해서 받기) + 문자열 파싱

반응형

char getStr[128];

scanf("%[^\n]s",getStr); // get 1 line until get enter

 

위는 문자열을 엔터까지 한번에 받기 예제이다.

 

그리고 아래는 위 예제를 이용해서 문자열을 엔터까지 한번에 받고나서 문자열을 띄어쓰기 단위로 파싱한 예제이다.

 

 

        char getStr[128];
        scanf("%[^\n]s",getStr);    // get 1 line until get enter
        char *tmpPtr = strtok(getStr," ");  // for parsing
        char *str[10]; // parsing and save commands
        int i = 0;
        while(tmpPtr != NULL) // parsing command and option
        {
            str[i] = tmpPtr;
            i++;
            tmpPtr = strtok(NULL," ");
        }// end of while

 

물론 띄어쓰기 단위로 각각의 문자열들은 str[10]에 저장된다.

반응형