|
안녕하세요.
요즘 C++에 한참 열을 올리고 있는 초짜입니다.
인터넷에서 split() 알고리듬을 발견해서 이상없이 잘 사용하고 있습니다.
그런데 split된 substring들을 Inter값으로 변환해서 사용하여야 하는데 어떻게 해야 하는지 몰라서요.
일단 main()에 있는 코드를 올려보겠습니다
=============================================================
#include <string>
#include<iostream>
#include <vector>
#include "StringUtils.h"
#include "StringUtils.cpp"
void main()
{
// see Alice's Adventures in Wonderland by LC chapter
// VII for full context of quote
string in("1:2:3:4:5:6:7");
string delim(":");
vector<string> results;
int num = StringUtils::SplitString(in, delim, results);
cout << "input="<<in.c_str()<<endl;
cout << "Number of "<<delim.c_str()<<" found:"<<num<<endl;
for( int i=0; i < results.size(); i++ )
{
cout<<"substring '"<<i+1<<"'="<<results[i].c_str()<<endl;
}
}
======================================================================
위는 string in 인스턴스에 있는 "1:2:3:4:5:6:7"을 SplitString함수를 사용하여
resuts string vetor로 split된 substring들을 반환하는데,
제가 하고 싶은 일은 이 반환된 substring들을 inter값으로 변환하고 싶은데
어떻게 해야될지 몰라서요.
단독직입적으로 얘기하면 맨 아래 for loop 에 있는 results[i].c_str()들을 정수값으로 변환하여
사용해야 하는데 잘 안되네요.
실지로 컴파일러에 돌려보면 출력은 다음과 같습니다:
===OUTPUT=========
input=1:2:3:4:5:6:7
Number of : found:6
substring '1'=1
substring '2'=2
substring '3'=3
substring '4'=4
substring '5'=5
substring '6'=6
substring '7'=7
=====================
여기서 제가 하고 싶은것은 예를들면 results[0].c_str()은 값 1을 갖는데 이 1을 실지로 integer값으로 변환해서
사용할 수 있는 방법이 없을까 해서요.
고수님들 조언을 부탁드립니다.
*StringUtils.h 와 StringUtils.cpp파일을 첨부합니다
|