当前位置: 技术问答>linux和unix
mmap后能用strtok或者srtok_r吗?
来源: 互联网 发布时间:2016-06-07
本文导语: int fd; struct stat st; void *ptr_fd; char *ptr_oid; char *p; char *out_ptr = NULL; char *in_ptr = NULL; fd = open("test.txt",O_RDONLY); fstat(fd,&st); ptr_fd = mmap(NULL,st.st_size,PROT_READ,MAP_PRIVATE,f...
int fd;
struct stat st;
void *ptr_fd;
char *ptr_oid;
char *p;
char *out_ptr = NULL;
char *in_ptr = NULL;
fd = open("test.txt",O_RDONLY);
fstat(fd,&st);
ptr_fd = mmap(NULL,st.st_size,PROT_READ,MAP_PRIVATE,fd,0);
ptr_oid = strtok_r((char *)ptr_fd,"n",&out_ptr);
printf("%snn",ptr_oid);
//while(p = strtok(NULL,"n"))
// printf("%sn",p);
if(ptr_fd == MAP_FAILED)
printf("mmap failed!n");
munmap(ptr_fd,st.st_size);
close(fd);
老是报段错误,我在想是不是mmap之后不能strtok之类的函数了?求大牛解答!谢谢了
|
可以用的,你检查一下 open 和 mmap 是否成功了
|
strtok 需要可读可写权限,你改成如下试试:
fd = open("test.txt", O_RDWR);
mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。