Я пытаюсь отделить строку, прочитанную из файла, токеном #.StrTok правильно разделяет первый токен, но когда я печатаю то, что должно быть вторым токеном, он не возвращает ничего, кроме (null).
Я попытался изменить формат файла, который читается, и используя переменную auxдля хранения содержимого strtok (NULL, "#"), но результаты не меняются.
void ler_fich_cidades(Lista_Cidades cidade,Lista_Pontos pt){
FILE *p;
int file_check=0;
char linha[TAM];
Lista_Pontos ptos;
Cada_cidade city;
char *aux = (char*)malloc(TAM*sizeof(char));
p = fopen("locais.txt", "r");
while(!feof(p)){
fgetstr(linha,sizeof(linha),p); //this function removes any '\n'.It is working,because it is used for other things
strcpy(cidade->nome_cidade,strtok(linha,"#")); //This line is working as intended
printf("%s\n",cidade->nome_cidade);
strcpy(ptos->ponto.nome,strtok(NULL,"#")); //This one is not
printf("%s\n",ptos->ponto.nome); //Printing (null)
}
}
Считываемый файл имеет следующий формат:
"# Coimbra"
"#Universidade De Coimbra # Ema das universidades mais antigas do mund ainda em operaçao, sendoa mais antiga e uma das maiores do pais. # 8: 00h-18: 00h # Сегунда, Терка, Кварта, Кинта, Секстта, Сабадо "
Выходные данные должны быть: Коимбра Universidade De Coimbra
Но фактический результат просто: Коимбра