Я читаю CSV-файл с разделителями и пытаюсь преобразовать токен в целое число с sscanf и получить ошибку segfault.ANSI C sscanf дает segfault
Вот мой код:
#define MAX_LINE_SIZE 1024
#define DELIMITER ','
void load_data(char * coinsfile)
{
char temp_line[MAX_LINE_SIZE];
char * token;
int number_coin;
while (fgets(temp_line, MAX_LINE_SIZE, coins_file) != NULL) {
token = strtok (temp_line, DELIMITER);
while(token != NULL) {
token = strtok (NULL, DELIMITER);
sscanf(token, "%d", &number_coin);
}
}
}
тестирование CSV файл:
5,10
10,5
20,8
50,2
100,20
200,8
Показать, пожалуйста, весь код, который может повлиять на это - включая объявление переменной temp_line и coins_File и строки строк из вашего csv. Но вы не тестируете токен против NULL перед sscanf(). – Constantin
@Constantin Я добавил запрашиваемую информацию 'coins_file' - это имя файла CSV-файла, который исходит из другого кода – Oscar