>웹 프론트엔드 >JS 튜토리얼 >C_javascript 스킬의 문자열 클래스 사용 요약

C_javascript 스킬의 문자열 클래스 사용 요약

WBOY
WBOY원래의
2016-05-16 15:46:411081검색

MFC 프로그래밍을 사용해 본 친구들은 CString 클래스에 깊은 인상을 받았을 것 같아요. 실제로 MFC의 CString 클래스는 정말 편리하고 사용하기 쉽습니다. 그런데 MFC 프레임워크를 벗어나면 사용하기 매우 편리한 클래스가 있을까요? 대답은 '예'입니다. 어떤 사람들은 MFC 프레임워크를 사용하지 않더라도 MFC에서 API를 사용하는 방법을 찾을 수 있다고 말할 수 있습니다. 구체적인 작업 방법은 이 문서의 끝부분에 나와 있습니다. 실제로 많은 사람들이 표준 C에서 문자열 클래스 사용을 무시할 수 있습니다. 표준 C에서 제공하는 문자열 클래스 함수도 매우 강력하여 프로젝트 개발 시 일반적으로 사용할 수 있습니다. 이제 출발점으로 삼아 다음과 같이 몇 가지 구체적인 사용법을 나열하겠습니다. 좋습니다. 헛소리는 그만두고 본론으로 들어가겠습니다.

표준 C에서 문자열 클래스를 사용하려면

을 포함해야 합니다.

#include 98c455a79ddfebb79781bff588e7b37e// bbed3fed50f96ac7490cfc6a498c4bc5가 아니라 98c455a79ddfebb79781bff588e7b37e이라는 점에 유의하세요. .h가 있는 파일은 C 언어의 헤더 파일입니다.

std::string; 사용

std::wstring 사용;

또는

네임스페이스 std 사용

이제 각각 char 및 wchar_t에 해당하는 string/wstring을 사용할 수 있습니다.

string과 wstring의 사용법은 동일하며 아래 소개에는 string만 사용됩니다.

문자열 클래스 생성자:

string(const char *s); //用c字符串s初始化
string(int n,char c);//用n个字符c初始化

또한 문자열 클래스는 string s1과 같은 기본 생성자와 복사 생성자를 지원합니다. string s2="hello"; 생성된 문자열이 표현하기에 너무 길면 length_error 예외가 발생합니다.

문자열 클래스의 문자 연산:

const char &operator[](int n)const;
const char &at(int n)const;
char &operator[](int n);
char &at(int n);
//operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。
const 
char *data()const;//返回一个非null终止的c字符数组
const char* c_str()const;//返回一个以null终止的c字符串
int copy(char *s, int n, int pos = 0)const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目

문자열의 특성 설명:

int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数)
int max_size()const; //返回string对象中可存放的最大字符串的长度
int size()const;  //返回当前字符串的大小
int length()const;  //返回当前字符串的长度
bool empty()const;  //当前字符串是否为空
void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分

string类的输入输出操作:
string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作。
函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符'\n'分开。

문자열 할당:

코드 복사 코드는 다음과 같습니다.
string &operator=(const string &s);//Convert string s 현재 문자열에 할당
string &sign(const char *s);//c 유형 문자열 s로 값 할당
string &sign(const char *s,int n);//c 문자열 s에서 시작하여 n 문자 할당
string &sign(const string &s);//현재 문자열에 문자열 s 할당
string &sign(int n,char c);//현재 문자열에 n 문자 c 할당
string &sign(const string &s,int start,int n);//문자열 s의 시작부터 시작하여 n자를 현재 문자열에 할당
string &sign(const_iterator first, const_itertor last);//첫 번째 반복자와 마지막 반복자 사이의 부분을 문자열
에 할당합니다.

문자열 연결:

코드 복사 코드는 다음과 같습니다.
string &operator =(const string &s);//put string s 현재 문자열의 끝에 연결
string &append(const char *s); //c 유형 문자열 s를 현재 문자열의 끝에 연결
string &append(const char *s,int n);//c 유형 string s의 처음 n자를 현재 문자열의 끝에 연결
string &append(const string &s); //연산자 =()
와 동일 string &append(const string &s,int pos,int n);//문자열 s의 pos부터 시작하여 n자를 현재 문자열의 끝까지 연결
string &append(int n,char c); //현재 문자열의 끝에 n 문자 c
를 추가합니다. string &append(const_iterator first, const_iterator last);//iterator first와 last 사이의 부분을 현재 문자열의 끝까지 연결

문자열 비교:

코드 복사 코드는 다음과 같습니다.
bool 연산자==(const string &s1,const string &s2 )const; //두 문자열을 비교하여 동일한지 확인
">", "6745434bf92a2979d589ede8e8e7bea9=", "e260992fe4e75dd1015e065c3cf1f47d인 경우 1, f4a441cf861aaa68357bbb541e6ea8d3头文件中
例如:
string input("hello,this is a test");
 istringstream is(input);
 string s1,s2,s3,s4;
 is>>s1>>s2>>s3>>s4;//s1="hello,this",s2="is",s3="a",s4="test"
 ostringstream os;
 os<<s1<<s2<<s3<<s4;
 cout<<os.str();

以上就是对C++ string类的一个简要介绍。用的好的话它所具有的功能不会比MFC中的CString类逊色多少,呵呵,个人意见!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.