我正在阅读一个“,”分隔的 CSV 文件,并尝试使用 sscanf 将令牌转换为整数并出现段错误。
这是我的代码:
#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