我正在尝试解析一个文件,并使用结构存储结果,但我不断得到一个segmetaion错误,我似乎无法找出原因。
while (token ! = NULL)
{
token =strtok(NULL, " ");
if (token[0] == 'd')
{
if (token[1] == 'e')
{
room -> eastD = atoi(&token[2]);
printf("%d",room->eastD);
}
}
}
答案 0 :(得分:2)
检查以下令牌是否为NULL。
token =strtok(NULL, " ");
你也应该对它进行NULL检查。
if(token != NULL)
{
}
答案 1 :(得分:0)
基本上,这是因为令牌是NULL然后你尝试取消引用它。你做错了。
token = strtok( input_str, " " );
while( token != NULL )
{
if ( strlen( token ) > 2 )
{
if ( token[0] == 'd' )
{
if ( token[1] == 'e' )
{
room->eastD = atoi( &token[2] );
printf( "%d", room->eastD );
}
}
}
token = strtok( NULL, " " );
}