|
int a;
a = StrToInt(results[i].c_str());
이런식으로 하면 됩니다.
Have a good day!
kalamazu 님이 쓰신 글 :
: 안녕하세요.
: 요즘 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파일을 첨부합니다
|