string 문자열 나누기.. ㅜㅜ

sks0706의 이미지

클래스내 생성된 생성자 입니다.

Date(char* date)
  {
   sscanf(date, "%d/%d/%d", &year, &month, &day);
  }

메인함수 내에서 호출하는 코딩입니다.

Date independenceDay("1945/8/15"); //1945년 8월 15일

1945, 8, 15를 인수값으로 받고 있는데,
여기서 sscanf함수 말고
stoi함수를 쓸수 있게 도와 주세요.

stoi함수는 리턴 값이 int 이고 인수값이 string입니다.
ex)

string s = "8282"
int fire = stoi(s) //요레 하면 fire에 8282가 저장 됩니다.

즉, 1945/8/15를 3개의 string으로 나누고 싶은데, 문자열을 string으로 나누는 방법을 도저히 모르겠습니다.
도와주세요 ㅜㅜ

#그리고 strtok함수로 잘라서 하는 방법도 있는거 같은데 strtok함수 사용하니깐 자꾸 디버깅 오류가 뜨네요.. 으앙 ㅜㅜ

File attachments: 
첨부파일 크기
Image icon 없음.png18.38 KB
kukyakya의 이미지

strtok 함수를 잘라서 쓰실게 아니라면 직접 토크나이저를 간단하게 만들어서 쓰셔야죠.

boost를 쓰실 수 있다면 boost::tokenizer도 괜찮습니다.

근데 왜 sscanf 안쓰시고 stoi를 쓰시려는건가요?

sks0706의 이미지

저도 왜 stoi를 써야하는지 이해는 안가지만 과제 내용물에 이게 들어가 있어요 ㅋㅋ
boost::tokenizer는 못쓸거 같네여 ㅜㅜ 감사합니다.

jick의 이미지

http://www.cplusplus.com/reference/string/string/string/

std::string::string

from sequence (5): string (const char* s, size_t n);

Copies the first n characters from the array of characters pointed by s.

sks0706의 이미지

이 방법 써볼만 하군요 ㅋ 감사합니다.