반응형
문자열을 다룰 때 사용하는 함수
substr(from,to);
string s = "Christino Ronaldo";
string s1=s.substr(0,5);//Chris
string s2 = s.substr(3);//istino Ronaldo
string s3 = s.substr();// Christino Ronaldo
from : 문자열의 시작인덱스
to : 문자열의 마지막인덱스
find()
string s = "Christino Ronaldo";
int a=s.find("tino");
cout << a << '\n'; //5
위의 예시는 찾았을 때 "tino"의 시작 인덱스인 5를 반환한다.
보통 find는 조건문과 함께 사용하거나 찾고싶은 문자의 위치를 알고싶을 때 사용
string::npos
if(s.find("tino") == string::npos)
//tino를 찾지 못했다면
string::npos는 find함수에 의해서 문자열을 찾지 못했을 때 반환
atoi()
string str1 = "12345";
int n1 = atoi(str1.c_str());
cout << n1 << '\n';
//12345
string str2 = "name";
int n2 = atoi(str2.c_str());
cout << n2 << '\n';
//0
if(!atoi(str2.c_str()){
//문자라면
}
if(!atoi(str2.c_str()){
//숫자라면
}
문자열이 숫자로만 이루어져 있다면 문자열안의 내용을 int형으로 반환
문자열이 숫자로만 이루어져 있지않다면 0을 반환
to_string()
헤더
#include<string>
int n=12345;
string s=to_string(n);
숫자를 문자열로 바꾸는 함수
char형을 int형으로
int형으로 지정된 변수에 바꾸려는 char형 -'0'
char ch='2';
int num= ch-'0';
//2
size()
string s1="ParkJiSung";
cout << s1.size() <<'\n';
//10
문자열의 크기를 알수 있는 함수
isdigit()
string a = "a3452";
cout << isdigit(a[0]) << '\n'; //0
cout << isdigit(a[1]) << '\n'; //0이 아닌 수
cout << isdigit(a[2]) << '\n'; //0이 아닌 수
cout << isdigit(a[3]) << '\n'; //0이 아닌 수
cout << isdigit(a[4]) << '\n'; //0이 아닌 수
C++에서는 숫자나 문자가 섞인 문자열을 한글자씩 판별해주는 기능
숫자라면 숫자를 반환하고 아니면
getline
헤더
#include<string>
띄어쓰기를 포함한 문자열을 한줄로 입력 받을 때 사용한다.
cin은 개행문자를 기준으로 입력을 받기 때문에 띄어쓰기가 있는 문자열은 한번에 입력 받지 못한다.
한줄만 입력 받을 때
string s;
getline(cin, s);
cout << s << "\n";
입력
i am student
출력
i am student
여러줄 입력 받을 때
int T;
string s;
cin >> T;
string bufferflush;
getline(cin, bufferflush);
for (int i = 0; i < T; i++) {
getline(cin, s);
cout << s << '\n';
}
입력
3
i am student
i am student
i am student
출력
i am student
i am student
i am student
반응형
'Language > C++' 카테고리의 다른 글
(C++)조합 (0) | 2023.02.22 |
---|---|
(C++)순열 (0) | 2023.02.21 |
(C++)배열의 최댓값,최솟값-max_element,min_element (0) | 2023.02.20 |
(C++)배열 초기화-memset,fill (0) | 2023.02.08 |
(C++)vector(동적배열) 정리 및 사용법 (0) | 2023.01.10 |