【发布时间】:2013-10-15 22:13:29
【问题描述】:
我一直在解决 strncmp 和 getline 的问题......所以我做了一个小测试应用程序。 strncmp 给出误报,我无法弄清楚我做错了什么。
这是程序
#include <stdio.h>
FILE *fp=NULL;
char uname[4]="test";
char *confline=NULL;
size_t conflinelength=0;
int datlength;
main()
{
datlength=4;
fp=fopen("test.txt","r+");
while (getline(&confline,&conflinelength,fp)!=-1)
{
if (strncmp(confline,uname,(datlength-1))==0);
{
printf("match\n");
return;
}
}
printf("no match\n");
fclose(fp);
}
这是“test.txt”...
bjklas
程序输出
match
【问题讨论】:
-
char uname[4]="test";可以作为datlength=4,但建议使用char uname[]="test";。printf("match\n");后面也应该跟fclose(fp);。