首页 新闻 搜索 专区 学院

Linux用c实现多线程对文件内容并行搜索

0
悬赏园豆:100 [已解决问题] 解决于 2012-06-23 16:49

typedef struct  node
{
char argv1[MAX][MAX];
}argcv;

void *thread_function(void *arg)
{
//deal function
int line = 1,i =0;
char Buf[1024];
while("a")
{
line = 1;
FILE *fp = fopen(arg,"r");

while(fgets(Buf,1024,fp) != NULL)
{
if(strstr(Buf,"is"))
printf("%s line:%d",arg->argv1[i],line);
line ++;
}
i++;
}
}

argcv arg[MAX];

pthread_create(&mythread,NULL,thread_function,(void *)&arg[i]);

 怎么提示有错误,参数不能传进去

dyhui1992的主页 dyhui1992 | 初学一级 | 园豆:4
提问于:2012-06-13 10:33
< >
分享
最佳答案
0

你首先读取文件的信息,获取其大小。然后根据输入的线程数分隔每个线程的开始搜索未知与结束搜索位置。搜索到的结果统一放到一个vector中,这个vector记得用线程锁。

收获园豆:100
BLoodMaster | 初学一级 |园豆:135 | 2012-06-13 17:00
其他回答(1)
0

自己已经解决了,谢谢

dyhui1992 | 园豆:4 (初学一级) | 2012-06-23 16:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册