모든 구문 분석 예제를 본 적이 있지만 문자열이나 다른 임의의 메서드를 사용하여 문제를 해결할 수 없습니다. 내 문제는 내가 텍스트 파일에서 읽을 때 내가 추출한 토큰에 토큰 자체와 무작위 문자 및 기호가 더해져 나온다는 것입니다. 예를 들어, 텍스트 파일의 줄은 ... 입니다. create_device digital_controller "Left Turn Lamp"51 ... 그리고 내 포인터 배열 * tklist []로 각 토큰을 가리킬 수 있어야합니다. 그러나 내가 구문 분석하고 지적하면 - ... ... 비슷한 방식으로 서로 다른 토큰을 가져 오는 것과 함께. 다음은 토큰을 추출하기위한 코드입니다. 위치를 확인하고 두 번 확인했기 때문에 토큰 위치가 정확하다고 가정합니다. 그렇지 않으면 문자 혼란에 포함시킬 단어의 일부만 얻게됩니다. 클라인은 '숯불 클라인 []'로 선언하고 당신은 당신의 CString을의 끝에서 널 (NULL) 종료를 필요 라인char 데이터 형식을 사용하여 C++에서 문자열 구문 분석
token_length = endTokenPosition - startTokenPosition; //length of the token
tklist[next_token] = (char *)malloc(token_length + 1);
memcpy(tklist[next_token], &cline[startTokenPosition], token_length + 1);
cout << tklist[next_token] << endl;
당신의 NUL 터미네이터입니까? –