🔓알고리즘/문자열

split 함수 구현 - C++

Mawile 2020. 12. 2.
728x90

 

개발환경 >> vscode

언어 >> C++17

운영체제 >> Windows10

 

 


 

안녕하세요

이번에는 split 함수뿐만 아니라

split관련 추가 기능에 대한 헤더 파일을 만들었습니다

 

그럼 시작하겠습니다...!

 

 

 


[[[   소스코드   ]]]

#include "split.hpp" //다운로드는 밑에링크 올려놓았습니다
#include <iostream>

int main(){
    string str="1|2|3|4"; //string
    split::splitC spl; //splitC클래스
    spl = split::split(str,"|"); //split함수

    for(int i=0;i<spl.size();i++){ //안에서 잘려진 원소의 수만큼 반복
        cout << spl[i] << " "; //값출력
        if(i!=spl.size()-1) cout << "+ "; //값을 명시하기위해 + 로 나눠서보기
    }
    int in = split::SplitToInt(spl); //SplitC -> int 값변환함수
    cout << "\n\nint :: " << in;
}

 

 

이렇게 하면

 

 

 

 

그러면 split.hpp 헤더 파일은 하단에 github에 첨부해놓겠습니다~!

사용법을 알려드릴게요!

 


{{{   이름 공간   }}}

using namespace split;

 

 

{{{   기본 문자열 객체로 string사용   }}}

string str;

 

 

{{{   splitC클래스   }}}

split::splitC spl;

spl[0];
spl.size();
spl.capacity();
spl.add(); //사용안해도됨

splitC클래스는 [] 오버 로딩, 원소 추가 함수 add, 크기 리턴 함수 size(), 최대 크기 함수 capacity() 가있습니다

 

 

 

{{{   split함수   }}}

spl = split::split(str,"|");
값을 리턴받을 객체 = split::split(string클래스, string을 나눌기준);
splitC = split::split(string,const char*);

 

 

{{{   stoc함수   }}}

stoc(string,char *); //통상적으로 사용안해도됨
string -> char* 값대입합수

 

 

{{{   SplitToInt함수   }}}

int SplitToInt(string);
exam)
splitC spl; (2,3,5)
int integer = split::SplitToInt(spl[0]);
[integer :: 2]

////////////////////////////////////////////


int SplitToInt(splitC);
exam)
splitC spl; (6,5,3)
int integer = split::SplitToInt(spl);
[integer :: 14]

 

 

 

 

 

그리고 저가 지금까지 splitC함수 내의 객체를 숫자만 사용해서 그렇지만,

문자도 정상적으로 됩니다 단, 문자를 int관련 함수에 사용하면 0으로 반환됩니다.

 

 

 

 

마지막으로 예시 코드 하나 보여드리고 저는 빠지도록 하겠습니다...

감사합니다....!!!

 

728x90

 


 

[[[   예시   ]]]

#include "split.hpp"
#include <iostream>

int main(){
    string str="Thanks-for-visiting-my-Blog-~!";
    split::splitC spl;
    spl = split::split(str,"-");

    for(int i=0;i<spl.size();i++){
        cout << spl[i] << " ";
        if(i!=spl.size()-1) cout << "+ ";
    }
}

 

 

 


 

[[[   다운로드   ]]]

 

github.com/DRAGONPROCESS/String-Split.git

 

DRAGONPROCESS/String-Split

Contribute to DRAGONPROCESS/String-Split development by creating an account on GitHub.

github.com

 

728x90

'🔓알고리즘 > 문자열' 카테고리의 다른 글

C++ | 문자열 안에서 특정 문자열 찾기  (0) 2021.10.17
파일암호화 Cryptography C++  (2) 2020.10.10

댓글