我编写的程序如下:(在libBBS/ucache.c中,在头文件中声明了的)
int searchunday(long daynum)
{
int j;
FILE *fp,*fpp;
struct userec user;
fpp =fopen("/usr/local/bbs/.PASSWDS","rb");//安装目录
fp =fopen("/home/bbs/result.txt","a+");
if(fp=NULL)return 0;
j =0;
while(!feof(fpp))
{ fread(&user, sizeof(user), 1, fpp);
if((time((time_t *)NULL)-user.lastlogin)/(24*60*60)>=daynum)
{
fwrite(&user,sizeof(user),1,fp);
j=j+1;
}
}
fclose(fp);
fclose(fpp);
return j;
}
在phplib/phpbbs.user.c中加了:
PHP_FUNCTION(bbs_getunday)
{
long s;
long num;
if (zend_parse_parameters(1 TSRMLS_CC, "l", &s) != SUCCESS) {
WRONG_PARAM_COUNT;
}
num =searchunday(s);
RETURN_LONG(num);
}
在phplib/phpbbs.user.h中加了:
PHP_FUNCTION(bbs_getunday);
PHP_FE(bbs_getunday, NULL) \
但是调用的时候出现问题,函数是可以调用的,因为那个result.txt文件创建了,但是里面没有内容,而且在php代码中调用bbs_getunday没有返回值,是怎么回事啊!大家帮忙分析一下.
--
FROM 202.115.30.*