0
我正在尝试编写一个程序,从proc中提取信息。现在我正试图从cpuinfo获取处理器类型。我的代码编译,但我得到一个段错误(核心转储)。我无法运行lldb来进行调试。这是我的代码:Segfault(核心转储) - 无法让lldb运行
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
char cpuinfo()
{
char element[400];
FILE* fp;
fp = fopen("/proc/cpuinfo", "r");
int token_count = 0;
if (fgets(element, 400, fp) != NULL)
{
char *token;
token = strtok(element, "\n");
printf("%s\n", token[4]);
}
fclose(fp);
return(0);
}
int main(int argc, char *argv[])
{
printf("Hello world\n");
cpuinfo();
}
“我不能让LLDB运行”。为什么不?也许你应该问一下。 – kaylum
'token [4]'的类型是'char'。 'printf('%s'需要'char *'。 – BLUEPIXY
编译器警告怎么样?你没有这些吗? – kaylum