моя функция (которая вызывается pthread) либо сразу дает мне EXC_BAD_ACCESS при вводе while l oop, либо работает правильно в течение нескольких итераций, прежде чем дать мне ссылки EXC_BAD_ACCESS.
void* getImdbId(char* movieId, char** retImdb)
{
FILE* imdbFile;
char buffer[128];
char* splitter;
char* fMovId;
char* imdbId;
imdbFile = fopen("links.csv", "r");
while(fgets(buffer, 127, imdbFile) != NULL){
//Determine if movieID matches.
splitter = strtok(buffer, ",");
fMovId = splitter;
splitter = strtok(NULL, ",");
imdbId = splitter;
puts(fMovId);
puts(imdbId);
if(strcmp(fMovId, movieId) == 0)
{
strcpy(*retImdb, imdbId);
return 0;
}
}
}
. csv содержит два столбца: один с идентификатором mov ie id, а второй с именем imdbid. Я получаю оба этих значения с помощью strtok (когда он работает должным образом для итерации), и когда он соответствует моему параметру movieid, он изменяет параметр retImdb, чтобы я мог получить доступ к некоторому другому моему коду, который также работает правильно, когда он делает не ошибка на мне.
Почему это происходит?