| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1620 人关注过本帖
标题:请问怎么样判断键盘输入的是一个字母还是多个字母?
只看楼主 加入收藏
qazplmokn
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-12-13
收藏
 问题点数:0 回复次数:5 
请问怎么样判断键盘输入的是一个字母还是多个字母?
就是执行CIN的时候,判断用户输入键盘缓存区的是否是一个字母
搜索更多相关主题的帖子: 判断 键盘 字母 输入 
2008-12-13 14:48
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:0 
##include <iostream.h>
#include <string.h>
void main()
{
    char buf[10];
    cout<<"请输入字母:"<<endl;
    cin.get(buf, 10, '\n');
    cout<<buf<<endl;
    cout<<strlen(buf)<<endl;
}
cin.get(buf, 10, '\n');函数将输入缓冲区的字符拷贝到buf中,并以'\n'为结束符
如果只输入了一个字母strlen(buf)=1;
n个的话strlen(buf)=n(n<=10)
2008-12-13 15:56
qazplmokn
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-12-13
收藏
得分:0 
回复 第2楼 沼泽 的帖子
谢了。
不过还有个问题
我想如果输入的不是单个字母的话,能够重新让用户输入
这样
while (strlen(cha)!=1)
 {
     cout<<"Your guess must be a single charactor.Try again.\nYour guess is:";
     cin.get(cha, 10, '\n');
 }
但是会是死循环,不能停止,怎么办
求教

[[it] 本帖最后由 qazplmokn 于 2008-12-13 18:04 编辑 [/it]]
2008-12-13 17:15
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:0 
#include <iostream.h>
#include <string.h>
void main()
{
    char buf[10];
    int m = 2;
    while(m > 1)
    {
        cout<<"Your guess must be a single charactor.Try again.\nYour guess is:";
        cin>>buf;
        m = strlen(buf);
}
    cout<<buf<<endl;
    cout<<strlen(buf)<<endl;
}
2008-12-13 19:19
qazplmokn
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-12-13
收藏
得分:0 
回复 第4楼 沼泽 的帖子
谢啦。。。。
2008-12-13 20:51
gz81
Rank: 5Rank: 5
等 级:职业侠客
帖 子:137
专家分:369
注 册:2008-5-1
收藏
得分:0 
版主的热心帮助,敬佩!

我的空间:http://student./space.php?uid=116706
2008-12-16 15:16
快速回复:请问怎么样判断键盘输入的是一个字母还是多个字母?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015730 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved