- 主题:如何清除前面的输入?
某段代码如下: 原来定义 char buf[STRLEN]={0},buf1[STRLEN]={0};
第②个buf 和第③个buf1 它都会默认第一个的输入
如何在输入第①个后,清除原来的输入呢? 应该加什么代码进去?
do
{
getdata(1, 0, "请输入密码提示问题(<80字符):", buf, STRLEN - 1, DOECHO, YEA);
if(buf[0] == 0) ①
break;
strncpy(strp.question, buf, STRLEN-1);
getdata(2, 0, "请输入密码问题的回答(<40字符):", buf, 40, DOECHO, YEA);
if(buf[0] == 0) ②
break;
buf[40] = 0;
getdata(3, 0, "请再次输入密码问题的回答(<40字符):", buf1, 40, DOECHO, YEA);
if(strcmp(buf, buf1)) ③
{
prints("两次输入不一致,设置无效");
pressanykey();
askdel = 0;
break;
}
--
修改:lxbks FROM 211.66.17.*
FROM 211.66.17.*
help
没人知道嘛?
一般的一个变量,第一次输入了之后,这个变量后面的初始值就是第一次输入那个
怎样在第一次输入后清楚它呢?
就像输入密码那段:
case '2':
if( ! real ) {
getdata(i++,0,"请输入原密码: ",buf,PASSLEN,NOECHO,NULL,YEA);
if( *buf == '\0' || !checkpasswd( u->passwd, buf )) {
prints("\n\n很抱歉, 您输入的密码不正确。\n");
fail++;
break;
}
}
getdata(i++,0,"请设定新密码: ",buf,PASSLEN,NOECHO,NULL,YEA);
if( buf[0] == '\0' ) {
prints("\n\n密码设定取消, 继续使用旧密码\n");
fail++;
break;
}
strncpy(genbuf,buf,PASSLEN) ;
getdata(i++,0,"请重新输入新密码: ",buf,PASSLEN,NOECHO,NULL,YEA);
if(strncmp(buf,genbuf,PASSLEN)) {
prints("\n\n新密码确认失败, 无法设定新密码。\n");
fail++;
break;
}
【 在 lxbks (lxb) 的大作中提到: 】
: 某段代码如下: 原来定义 char buf[STRLEN]={0},buf1[STRLEN]={0};
: 第②个buf 和第③个buf1 它都会默认第一个的输入
: 如何在输入第①个后,清除原来的输入呢? 应该加什么代码进去?
: ...................
--
修改:lxbks FROM 211.66.17.*
FROM 211.66.17.*
【 在 lxbks (lxb) 的大作中提到: 】
: 标 题: 如何清除前面的输入?
: 发信站: BBS 水木清华站 (Sat May 29 01:14:09 2004), 转信
:
: 某段代码如下: 原来定义 char buf[STRLEN]={0},buf1[STRLEN]={0};
:
: 第②个buf 和第③个buf1 它都会默认第一个的输入
:
: 如何在输入第①个后,清除原来的输入呢? 应该加什么代码进去?
:
: do
: {
: getdata(1, 0, "请输入密码提示问题(<80字符):", buf, STRLEN - 1, DOECHO, YEA);
~~
这个参数吧
: if(buf[0] == 0) ①
: break;
: strncpy(strp.question, buf, STRLEN-1);
: getdata(2, 0, "请输入密码问题的回答(<40字符):", buf, 40, DOECHO, YEA);
: if(buf[0] == 0) ②
: break;
: buf[40] = 0;
: getdata(3, 0, "请再次输入密码问题的回答(<40字符):", buf1, 40, DOECHO, YEA);
: if(strcmp(buf, buf1)) ③
: {
: prints("两次输入不一致,设置无效");
: pressanykey();
: askdel = 0;
: break;
: }
:
:
:
: --
: Firebird NT [FBNT 3.4W]示范站点欢迎你 地址: EEBBS.3322.org
: 推荐使用fterm或者cterm登陆,本站可以作为fbnt的示范站点,可供参考.或许有你需要的.
: 特别服务区[游戏及服务] : 网络连线、IP查询、猜数字、查询日历、百合计算器、
: 黑杰克、邮编区号、扫雷、打字、俄罗斯方块、搬运工、星空战斗鸡、电子小鸡、
: 超级小玛丽、福利彩票、西八拉、金扑克王、天地九九、宾果宾果..........
:
:
: ※ 修改:·lxbks 于 May 29 10:57:19 修改本文·[FROM: 211.66.17.*]
: ※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.66.17.*]
--
修改:lxbks FROM 211.66.17.*
FROM 219.224.135.*
: : 某段代码如下: 原来定义 char buf[STRLEN]={0},buf1[STRLEN]={0};
: :
: : 第②个buf 和第③个buf1 它都会默认第一个的输入
: :
: : 如何在输入第①个后,清除原来的输入呢? 应该加什么代码进去?
: :
: : do
: : {
: : getdata(1, 0, "请输入密码提示问题(<80字符):", buf, STRLEN - 1, DOECHO, YEA);
: ~~
: 这个参数吧
什么问题啊????
: : if(buf[0] == 0) ①
: : break;
: : strncpy(strp.question, buf, STRLEN-1);
: : getdata(2, 0, "请输入密码问题的回答(<40字符):", buf, 40, DOECHO, YEA);
: : if(buf[0] == 0) ②
: : break;
: : buf[40] = 0;
: : getdata(3, 0, "请再次输入密码问题的回答(<40字符):", buf1, 40, DOECHO, YEA);
: : if(strcmp(buf, buf1)) ③
: : {
: : prints("两次输入不一致,设置无效");
: : pressanykey();
: : askdel = 0;
: : break;
: : }
: :
: :
: :
: : --
: : Firebird NT [FBNT 3.4W]示范站点欢迎你 地址: EEBBS.3322.org
: : 推荐使用fterm或者cterm登陆,本站可以作为fbnt的示范站点,可供参考.或许有你需要的.
: : 特别服务区[游戏及服务] : 网络连线、IP查询、猜数字、查询日历、百合计算器、
: : 黑杰克、邮编区号、扫雷、打字、俄罗斯方块、搬运工、星空战斗鸡、电子小鸡、
: : 超级小玛丽、福利彩票、西八拉、金扑克王、天地九九、宾果宾果..........
: :
: :
: : ※ 修改:·lxbks 于 May 29 10:57:19 修改本文·[FROM: 211.66.17.*]
: : ※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.66.17.*]
:
:
: --
:
: ※ 来源:·BBS 水木清华站 smth.org·[FROM: 219.224.135.*]
--
修改:lxbks FROM 211.66.17.*
FROM 211.66.17.*