gpt4 book ai didi

c - 循环内的 fscanf

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:43 24 4
gpt4 key购买 nike

啊,谢谢!说得通。刚刚发出了大小为 MAX_COMMAND_LENGTH + 1 的命令。

我正在尝试使用 fscanf 在一个循环中两次不同地读取同一个文件,但我遇到了段错误。这个想法是文件将被格式化,以便它在每行的开头都有一个命令,后面是命令的参数。

  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);
}
}

最佳答案

您需要为命令 分配内存。例如:

command = (char *)malloc(1024 * sizeof(char));

将为 1024 个字符分配足够的内存。

记得在完成后free(command)

关于c - 循环内的 fscanf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5413756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com