본문 바로가기

프로그래밍_백준/C++

(c++)백준 1152번 strtok()함수 사용, char자료형

728x90
반응형

이번에는 strtok()함수로 해결하겠습니다! 

 

먼저 strtok()함수는 문자열을 일정 기준으로 자를 수 있는 함수입니다!

strtok()를 사용하기 위한 헤더파일은 <cstring>이구요!

  

먼저 char*로 문자열을 받고 이를 하나 하나 잘라서 문자열의 포인터를 반환하는 함수입니다!

strtok("문자열", "구분자") 형식

 

#include<iostream>
#include<stdio.h>

using namespace std;

int main()
{
	int num = 0;
	char str[10000];
	
	gets_s(str);//scanf의 문자열 버전

	char* word = strtok(str, " ");//띄어쓰기로 구분하고 단어를 저장
	
	while (word != NULL) {
		num++;
		word = strtok(NULL, " ");//다음 단어을 얻기 위해 NULL을 인수로 줌
	}
	cout << num<<endl;
	return 0;
}

 

아 그리고 gets_s() 함수는 원래 gets() 함수이고 이를 좀 더 보완을 했어요!

하지만 워낙 gets() 함수가 문제가 많아서 사용하지 않는 걸 추천하고 있네요..!   

728x90
반응형