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
반응형
'프로그래밍_백준 > C++' 카테고리의 다른 글
(c++) 백준 2675 문자열 반복 (0) | 2023.02.20 |
---|---|
(c++) 백준 2577번 숫자 개수 세기 [몫, 나머지 활용] (0) | 2023.02.20 |
(c++) 백준 2577번 숫자의 개수 [string으로 변환, 범위 기반 for] (0) | 2023.02.20 |
(c++)백준 1152번 단어의 개수/getline함수, string 자료형 사용 (0) | 2023.02.19 |
(c++)백준 10818번 최소, 최대 구하기 (0) | 2023.02.17 |