- 论坛徽章:
- 0
|
//入参filename--文件的路劲,temps--传入要进行对比的字符串,PCBMESSAGE
int Compare(HWND hWnd,PCBMESSAGE PMyMessage,char *filename,char *temps)
{
int fd,i,usrflag,sz;
char temp[2];
char getstr[100];
//char *getstr;
#if 0
if((getstr=malloc(100)) == NULL)
{
CBMessageBox(hWnd,1,"获取内存失败!");
return -2;
}
#endif
memset(getstr,0,100);
memset(temp,0,2);
fd = open(filename,O_RDONLY);
if(fd < 0)
{
printf("open %s failed!\n",filename);
return -1;
}
lseek(fd,0,SEEK_SET);
i = 0;
usrflag = 0;
sz = 0;
/************************************************************************************************
读取到的内容为如下所示
PT1051T|0741261108|林凤莺|港西村(C2-124-4)|201005|无|116.23|20100506
PT1051T|0741262010|彭金粦|港西村(F7-203-2)|201005|无|185.33|20100506
PT1051T|0741262066|彭桂清|港西村(F2-217-3)|201005|无|98.24|20100506
************************************************************************************************/
while(read(fd,temp,1))
{
printf("%c",temp[0]);
if(temp[0]=='|')
{ i++;
printf("\ni %d\n",i);
}
if(i==0 ||i==1)
{
#if 0
//printf("into the xxxx\n");
*getstr=temp[0];
getstr++;
// printf("getstr %c\n",getstr);
#endif
//将temp值赋给getstr
/****************************************************************************
getstr[sz] = temp[0];这句话赋值失败了!
temp[0]有内容,而getstr[sz]却没有东西
****************************************************************************/
printf("===\n");
getstr[sz] = temp[0];
sz++;
printf("%c\n",getstr[sz]);
}
if(temp[0]=='\n')
{ i=0;
usrflag++;
memset(getstr,0x00,100);
printf("i %d \nusrflag %d \n",i,usrflag);
}
memset(temp,0,2);
if(i!=0 &&i!=1)
{
getstr[sz] = '\0';
if((strstr(temps,getstr))==0)
{
printf("haven't found\n");
continue;
}
else
{
break;
}
}
}
close(fd); |
|