对 C 非常陌生,所以请多多包涵!我正在尝试使用 sscanf 将 3 个由空格分隔的参数从“指令”读取到 3 个字符串中。到目前为止,我有以下代码:
char * buffer;
buffer = (char*) malloc (5000);
sscanf(instruction, "%s %s %s", &opcode, &arg1, &arg2, buffer);
然而,虽然它编译得很好,但在 sscanf 所在的最后一行有一个段错误。上次我看到这个错误是因为变量中没有足够的内存来存储信息。我猜我没有正确使用malloc?
不幸的是,我无法发布整个代码,因为它不属于我。