啊,謝謝!說得通。剛剛作出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