#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main()
{
FILE * fp;
char str[6],st[6],s[6];
printf("输入登陆密码:\n");
gets(st);
if((fp=fopen("G:\\文本文档\\password.txt","r"))==NULL)
{ printf("不存在此文件!\n");
exit(0); }
if(fgets(str,9,fp)!=NULL)
{ strcpy(s,str);
printf("%s\n",s); }
if(strcmp(st,s)==0)
printf("%s\n",st);
else
printf("^^^\n");
fclose(fp);
puts(st);
return 0;
}
11 个解决方案
#1
没有判断否啊
调试了是正确的
还有什么问题?
调试了是正确的
还有什么问题?
#2
if(fgets(str,9,fp)!=NULL)
{ strcpy(s,str);
printf("[%s]\n",s);
if ('\n'==s[strlen(s)-1]) s[strlen(s)-1]=0;//去掉末尾的\n,如果有
printf("[%s]\n",s);
}
#3
设断点,看看到底读入了什么
#4
r = strcmp(a,b);
如果a和b一樣,r等於0;
如果a小於b,r小於0;(按英文字典順序)
如果a大於b,r大於0;(按英文字典順序)
如果a和b一樣,r等於0;
如果a小於b,r小於0;(按英文字典順序)
如果a大於b,r大於0;(按英文字典順序)
#5
问题赵老师找出来了, 奇怪的是, 你的第二三个abcde之间应该有一空行。 为什么没有, VC6.0 让我很诧异。
#6
strcmp(AAA,BBB)==0
strcmp 返回值有三个
1: 表示AAA>BBB
-1:表示AAA<BBB
0: 表示AAA=BBB
strcmp 返回值有三个
1: 表示AAA>BBB
-1:表示AAA<BBB
0: 表示AAA=BBB
#7
char str[6]
应改为
char str[ 9]
应改为
char str[ 9]
#8
#9
代码正确的。。。
#10
strcmp是等于是为0,不要粗心
#11
大于返回大于0的数,小于返回小于0的数
#1
没有判断否啊
调试了是正确的
还有什么问题?
调试了是正确的
还有什么问题?
#2
if(fgets(str,9,fp)!=NULL)
{ strcpy(s,str);
printf("[%s]\n",s);
if ('\n'==s[strlen(s)-1]) s[strlen(s)-1]=0;//去掉末尾的\n,如果有
printf("[%s]\n",s);
}
#3
设断点,看看到底读入了什么
#4
r = strcmp(a,b);
如果a和b一樣,r等於0;
如果a小於b,r小於0;(按英文字典順序)
如果a大於b,r大於0;(按英文字典順序)
如果a和b一樣,r等於0;
如果a小於b,r小於0;(按英文字典順序)
如果a大於b,r大於0;(按英文字典順序)
#5
问题赵老师找出来了, 奇怪的是, 你的第二三个abcde之间应该有一空行。 为什么没有, VC6.0 让我很诧异。
#6
strcmp(AAA,BBB)==0
strcmp 返回值有三个
1: 表示AAA>BBB
-1:表示AAA<BBB
0: 表示AAA=BBB
strcmp 返回值有三个
1: 表示AAA>BBB
-1:表示AAA<BBB
0: 表示AAA=BBB
#7
char str[6]
应改为
char str[ 9]
应改为
char str[ 9]
#8
#9
代码正确的。。。
#10
strcmp是等于是为0,不要粗心
#11
大于返回大于0的数,小于返回小于0的数