sigsegov;缺少文件;当使用sscanf运行程序时

SIGSEGV; missing file; when running program using sscanf

本文关键字:sscanf 运行 程序 文件 sigsegov      更新时间:2023-10-16

下面我将描述调用函数sscanf时遇到的错误。

我的一些代码:

#include <cstdio>
(..)
int device_num = 0;
int frameTime = sscanf(currentStringVector[2].c_str(), "%d", &device_num);

它是OmNet++模块的一部分,所以我使用OmNet++编译它。我在GDB中收到以下错误消息:

"程序接收到信号SIGSEGV,分段故障。__rawmemchr_sse2()位于/sysdeps/x86_64/multiarch//rawmemchr。S: 3131/sysdeps/x86_64/multiarch//rawmemchr。S: 文件编号:。在/sysdeps/x86_64/multiarch//rawmemchr。S"

当我打电话给sscanf时,问题就开始出现了。

我在Ubuntu的64位系统上运行这个程序。如何解决上述问题?

谢谢!

使用OMNeT++,从命令行运行程序时可以使用类似gdb的调试器。IDE还允许您调试代码。

我的猜测是currentStringVector[2].c_str()无效。也许矢量比这个小。