C++/문자열 작업



1. 첫번째 구분자로 자르기 #

  1. CString str = _T("AAAA\\BBBB\\CCCC");
  2. CString strCutted = str.Left(str.Find(_T('\\')));

AAAA\\BBBB\\CCCC -> AAAA

2. 마지막 구분자로 자르기 #

  1. CString str = _T("AAAA\\BBBB\\CCCC");
  2. CString strCutted_1 = str.Right(str.GetLength() - str.ReverseFind(_T('\\')) - 1);
  3. CString strCutted_2 = str.Right(str.GetLength() - str.ReverseFind(_T('\\')));

strCutted_1  AAAA\\BBBB\\CCCC -> CCCC
strCutted_2  AAAA\\BBBB\\CCCC -> \\CCCC

3. 마지막 구분자까지 자르기 #

  1. CString str = _T("AAAA\\BBBB\\CCCC");
  2. CString strCutted_1 = str.Left(str.GetLength() - str.ReverseFind(_T('\\')));
  3. CString strCutted_2 = str.Left(str.GetLength() - str.ReverseFind(_T('\\')) + 1);

strCutted_1  AAAA\\BBBB\\CCCC -> AAAA\\BBBB
strCutted_2  AAAA\\BBBB\\CCCC -> AAAA\\BBBB\\

4. 글자 자수로 잘라서 나눔 #

  1. std::wstring wcontent = L"lo~~~ng text";
  2. std::vector<std::wstring> v;
  3. size_t previous = 0;
  4. size_t cur = 0;
  5. while (cur < wcontent.length()) {
  6.     cur += 240;
  7.     std::wstring sub = wcontent.substr(previous, cur);
  8.     v.push_back(sub);
  9.     int sub_len = sub.length();
  10.     previous = cur;
  11. }
  12. for (std::wstring sub : v) {
  13.     // TODO:
  14. }

L"lo~~ng text" : 496 length
->
v[0] : 240 length
v[1] : 240 length
v[2] : 16 length

이 글에는 0 개의 댓글이 있습니다.