啊,谢谢!说得通。刚刚作出MAX_COMMAND_LENGTH + 1的命令。fscanf内循环
我想使用fscanf在一个循环中读取同一个文件2次不同的时间,但我得到一个seg故障。这个想法是,文件将被格式化,以便它在每行的开始处有一个命令,随后是该命令的参数。
char* command; //Changed to char command[MAX_COMMAND_LENGTH + 1]
while(fscanf(file, "%s", command) == 1)
{
if (strcmp("CMD1", command) == 0)
{
int index, exp, coeff;
fscanf(file, "%d %d %d", &index, &exp, &coeff);
}
else if (strcmp("CMD2", command) == 0)
{
int num;
fscanf(file, "%d", &num);
}
}
为什么你通过文件读两次? – 2011-03-24 01:36:56