프로그램을 장시간 돌릴경우 뭔가 메모리 부족 에러창이 뜨길래
의심되는 함수를 가져와 봤는대요
함수 호출후 vector<String> vS_return 값이 찌꺼기로 남는것 같아 의심되어 올려봅니다.
다음과 같은함수를 만들었는대
함수 호출후 찌꺼기가 남을까요?(참고로 S_To_c와 같이 A_To_B와 같은 형식의 함수는 제가 만든 형변환 함수입니다. 그냥 형변환만 하는 함수이므로 크게 신경쓰지 않으셔도 됩니다.)
//String형을 S_Tok를 기준으로 잘라서 vector<String>으로 return하는 함수
vector<String>CustomCast::S_To_vS(String S_, String S_Tok) {
// 초기화
vector<String>vS_return;
vS_return.resize(0);
// 문자열 형변환
char* c_ = S_To_c(S_);
// Tok 형변환
const char * cc_Tok = S_To_cc(S_Tok);
// 문자열 형변환
char cArry_[99999] = "";
strcpy(cArry_, c_);
// 문자열 자르기
char * c_BufReturn = strtok(cArry_, cc_Tok);
if (cArry_[0] == cc_Tok[0])
vS_return.push_back("");
vS_return.push_back(c_To_S(c_BufReturn));
while (c_BufReturn != NULL) {
cc_Tok = S_To_cc(S_Tok);
c_BufReturn = strtok(NULL, cc_Tok);
vS_return.push_back(c_To_S(c_BufReturn));
}
return vS_return;
}