반응형
* 토큰화
vector<sting> words;
istringstream sub_str(str); //str 있다는 가정하에
string word;
while(getline(sub_str, word, ' '))
{
words.push_back(word);
}
* transform으로 문자열 대문자화(toupper)
#include <algorithm>
transform(str.begin(), str.end(), str.begin(), ::toupper);
* fgets()
char str[100];
fgets(str, sizeof(str), stdin);
// => hello world\n\0
// 개행문자와 null문자 둘다 입력됨
* 문자 토큰 개수 확인 함수(strtok)
char* p_str = strtok(str, " ");
while (p_str != NULL) {
totalCount++;
p_str = strtok(NULL, " ");
}
* C++에서 문자열 받는방법
1. cin (c++ 정석)
2. char 배열로 받기
char str[1001]; //최대 문자열크기 +1
scanf("%s", str);
3. getline 으로 받기
cin >> str; // 공백(space)이전까지의 문자열을 입력받는다.
getline(cin, str); // 개행('\n')이전까지의 문자열을 입력받는다.
getline(cin, str, 'a') // 'a'문자 이전까지의 문자열을 입력받는다.
3. getline 으로 받기 + 토큰화
//앞쪽부터 3개의 토큰 가져오기
//다른경우에는 while(--)로 가져오기
string str="";
getline(cin, str);
istringstream sub_str(str);
string buffer;
for (int j = 0; j < 3; j++)
{
getline(sub_str, buffer, ' ');
arr.push_back(buffer);
}반응형
'C++ > 알고리즘 관련' 카테고리의 다른 글
| [기본문법] 1차원 배열 (1) | 2025.05.30 |
|---|---|
| [백준] 2588. 곱셈 (0) | 2025.04.15 |