저자 : Ma Zhifeng
링크 : https : //zhuanlan.zhihu.com/p/24498537
출처 : 거의
저작권이 저자 에게 있음을 알고 있습니다. 상업적 재판의 경우 저자에게 연락하여 승인을 받으십시오. 비상업적 재판의 경우 출처를 표시하십시오.
링크 : https : //zhuanlan.zhihu.com/p/24498537
출처 : 거의
저작권이 저자 에게 있음을 알고 있습니다. 상업적 재판의 경우 저자에게 연락하여 승인을 받으십시오. 비상업적 재판의 경우 출처를 표시하십시오.
성명서:
- 기사의 내용은 "C ++ Primer Chinese Edition (5th Edition)"에서 수집 및 편집되었으며 저작권은 원서에 있습니다.
- 원본 책은 더 자세하고 멋진 해석을 가지고 있으므로 학습용 정품 책을 구입하세요.
- 이 기사는 학습과 의사 소통을위한 것이며 어떠한 형태의 전재도 금지되어 있습니다.
본문
- 구조
- substr
- 수정
- 검색
- 비교
- 수치 변환
구조
string s1;
string s2(s1); string s2 = s1;
string s3("val"); string s3 = "val";
string s4(n, 'c');
string s{
'a', 'b', 'c'};
string s = {
'a', 'b', 'c'};
string s(beg,end);
string s(n);
string s(cp,n); //n可选
string s(s2, pos2);
string s(s2, pos2, len2);
특히 책의 내용과 아래 URL에 참여하실 수 있습니다.
std :: basic_string-cppreference.com
substr
s.substr(pos, n);
s의 pos에서 n 문자의 복사본을 포함하는 문자열을 반환합니다.
n의 기본값은 s.size ()-pos입니다.
pos는 경계를 넘을 수 없습니다. pos + n은 문자열의 끝에 만 복사 할 수 있습니다.
문자열을 변경하는 다른 방법
- 순차 컨테이너의 할당, 삽입, 지우기 및 할당 작업
- 아래 첨자 삽입 및 지우기 버전 허용
- 삽입 허용 및 c 스타일 문자 배열의 할당
- 추가 및 바꾸기 기능
자세한 내용은 P323 표 9.13을 참조하십시오.
검색 작업
일치가 발생한 위치의 아래 첨자를 나타내는 string :: size_type 유형의 값을 반환합니다.
검색이 실패하면 string :: npos라는 정적 멤버가 반환됩니다.
string :: size_type은 서명되지 않은 유형입니다. 검색의 반환 값을 저장하기 위해 int 또는 기타 서명 된 유형을 사용하지 않아야합니다.
s.find(args)
s.find_first_of(args)
s.find_first_not_of(args)
args는 다음 형식이어야합니다.
- c, pos // 위치 pos에서 문자 c 찾기, pos 기본값은 0
- s2, pos // s2 문자열 찾기, pos 기본값은 0
- cp, pos // c 스타일 문자열 찾기, pos 기본값은 0
- cp, pos, n // 포인터가 가리키는 배열의 처음 n 개 문자를 찾습니다. cp, pos 및 n에는 기본값이 없습니다.
find----rfind
find_first_of----find_last_of
find_first_not_of----find_last_not_of
비교
s.compare(s2);
s.compare(pos1, n1, s2);
s.compare(pos1, n1, s2, pos2, n2);
s.compare(cp);
s.compare(pos1, n1, cp);
s.compare(pos1, n1, cp, n2);
수치 변환
메모리에서 숫자의 문자 표현이 값과 다릅니다.
15 : 0000000000001111
“15”: 0011000100110101
새로운 표준은 여러 변환 기능을 소개합니다
to_string(val);
//转换成整数
//p是第一个非数值字符的下标,默认值为0
//b是基数,默认值为10
stoi(s, p, b);
stol(s, p, b);
stoul(s, p, b);
stoull(s, p, b);
//转换成浮点
stof(s,p)
stod(s,p)
stold(s,P)