내부 포인터에 대해 strtok는 :C :이 정의와 구조체 한 구조체
typedef struct gRow{
char *txt;
char *fileName;
int line;
} gRow;
와 내가는 TXT 문자열에 대해 strtok를 사용하고 싶습니다.
strtok(row->txt, SEPERATOR_CHARACTERS);
를이 내가 분할 오류를 얻을 지점입니다 : 그래서, gRow *row
을 가지고 몇 가지 기능에, 나는이 작업을 수행. 만약 내가 그것을 대체하면 :
strtok(strdup(row->txt), SEPERATOR_CHARACTERS);
잘 작동합니다. 왜 어떤 아이디어?
감사합니다.
Shahar.
'strtok '을 호출하기 전에'row-> txt'를 적절하게 초기화합니까? –
strdup로 할당 된 메모리를 모두 비운 다음에는 그 메모리를 해제하는 것을 잊지 마십시오! – Jackson
피터, 그랬다. Jackson, 고마워, 나는 그것을 풀어야한다는 것을 안다. 그러나 strdup를 사용할 필요가없는 해결책을 찾기를 희망한다. –