首页
社区
课程
招聘
C语言问题!
发表于: 2007-3-29 19:52 4264

C语言问题!

2007-3-29 19:52
4264
int readDat(void)
{
FILE *fp;
int i=0;
char *p;
if((fp=fopen("out13.dat","r"))==NULL) return 1;
while(fgets(xx[i],80,fp)!=NULL)
{
p=strchr(xx[i],'\n');
if(p) *=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}

其中
   p=strchr(xx[i],'\n');
if(p) *=0;
i++;
起到什么作用,if(p) *=0;这一句更是想不能!
请指教一下,
谢谢!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
2
int readDat(void)
{
FILE *fp;
int i=0;
char *p;
if((fp=fopen("out13.dat","r"))==NULL) return 1;
/*貌似循环使用链表一行一行把文件读出*/
while(fgets(xx[i],80,fp)!=NULL)
{
p=strchr(xx[i],'\n');/*定义一个\n结束符到指针*/
if(p) *=0; /*是否遇到\n*/
i++;/*遇到\n的话说明上一行已经枚举完毕,继续下一行枚举*/
}
maxline=i;
fclose(fp);
return 0;
}

ASCII码是以\n为结束符的,if(p) *=0的意思是判断是否已经遇到了,遇到了说明这一行已经枚举完毕了,然后继续下一行

2007-3-29 20:42
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
多谢指点,!
2007-4-2 19:00
0
游客
登录 | 注册 方可回帖
返回
//