0
proc에서 정보를 추출하는 프로그램을 작성하려고합니다. 지금은 cpuinfo에서 프로세서 유형을 얻으려고합니다. 내 코드가 컴파일되지만 segfault (코어 덤프)가 발생합니다. 디버깅을 위해 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