小编Nat*_*han的帖子

MMAP 分段错误

int  fp, page;
char *data;

if(argc > 1){
    printf("Read the docs");
    exit(1);
}

fp = open("log.txt", O_RDONLY); //Opening file to read 
page = getpagesize();
data = mmap(0, page, PROT_READ, 0,fp, 0);

initscr(); // Creating the ncurse screen
clear();
move(0, 0); 
printw("%s", data);
endwin(); //Ends window
fclose(fp); //Closing file 
return 0;
Run Code Online (Sandbox Code Playgroud)

这是我的代码,由于某种原因,我不断收到分段错误。我所有的头文件都已包含在内,所以这不是问题(显然,因为它与内存有关)。提前致谢。

编辑:明白了 - 它没有被格式化为字符串。并且还必须使用 stat() 来获取文件信息而不是 getpagesize()

c unix mmap

-1
推荐指数
1
解决办法
2543
查看次数

标签 统计

c ×1

mmap ×1

unix ×1