(c++)백준 1152번

이번에는 strtok() 함수로 해결합니다!


(c++)백준 1152번 1

먼저 strtok() 함수는 어떤 기준에 따라 문자열을 잘라낼 수 있는 함수입니다!

strtok()을 사용하기 위한 헤더 파일은 다음과 같습니다.

!

첫째, 문자열을 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() 함수는 원래 get() 함수인데 조금 더 개선했습니다!

다만, gets()함수는 문제점이 많기 때문에 사용하지 않는 것을 권장합니다.

.!