字符数组与字符串记录

      今天在写学生管理系统的时候被密码输入这块卡住

       在网上找到了输入密码时,不明文显示,用✳替代显示的方法,但是输入完以后怎么都进入不了下一步(一些文件操作,需要比较文件中的字符串与输入的字符数组内容是否相等)。 

    查了几遍代码结构也没问题,用printf测试发现只到了读取文件操作成功那里,没有执行下面的while,而是去执行了while执行失败的地方。

    而且密码以正常字符串的形式输入的话执行没有问题,那错误就一定是出在了改掉的这部分。

    我想着应该是字符和字符串的问题叭……

    我又去网上搜这两者的转换问题,搜到的都是两者的区别

    我冰封的记忆再次被重启

因为字符串和char型数组长度不同啊啊啊啊啊!!!!!

字符串在末尾处有‘\0’

char型数组没有!

就这个一区别!

    于是我把密码数组最后一个数组元素赋值成了'\0',这下程序就成功运行啦~~~~

    时间长了不回顾真的会忘光/(ㄒoㄒ)/~

                                                ……

                                 printf("\n请输入用户名:");
                                    scanf( "%s", &ac );
                                    FILE *fp;
                                    printf("\n请输入密码:");

                                                while(x<6 && c!=13)
                                                {
                                                    c=getch();
                                                    if(c!=13)
                                                    putchar('*');
                                                    pw[x++]=c;
                                                }
                                                pw[6]='\0';
                                                x=0;
                                               ……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值