gpt4 book ai didi

c - C 中 sscanf 的段错误

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

C 的新手所以请多多包涵!我正在尝试使用 sscanf 将 3 个由空格分隔的参数从“指令”读取到 3 个字符串中。到目前为止,我有以下代码:

char * buffer;
buffer = (char*) malloc (5000);
sscanf(instruction, "%s %s %s", &opcode, &arg1, &arg2, buffer);

然而,虽然编译正常,但在 sscanf 所在的最后一行存在段错误。上次我看到这个错误是因为变量中没有足够的内存来存储信息。我猜我没有正确使用 malloc?

不幸的是,我不能发布整个代码,因为它不属于我。

最佳答案

删除符号。然后三个 %s 转义将填充它们(假设您让它们指向有效内存并且缓冲区足够大)。请注意,缓冲区将永远不会被填充,因为您的格式字符串仅引用三个参数

关于c - C 中 sscanf 的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10842199/

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