字符串问题!

长尾巴的悟空 2011-02-09 03:52:54
假如有一串二进制数,比如“1010”然后输错了,输成“1200”,因为二进制数不可能有2,因此要怎么判断一串数字是否输入错误了呢?

我知道可以每位数与1比较,如果大于他的话,则是错误的。
或者是输入的不是1或者不是0,则错误。

假如这串二进制数是一个字符串,也就是cstring类型的吧,那这时又要如何判别呢?

可以让字符串的每个字符与字符串“0”“1”比较,如果不相等的话,则是错误的!

问题是我按照这样的思路编写,代码总是有错误。
代码我就不贴了,请求路过的各位,给我编一个比较一下看我哪错了,或者用你自己的方法。谢谢!
...全文
96 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2011-02-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gofqjyie 的回复:]
字符串的已解决!

但第一个问题没有,想法是获得数字长度,然后除以加权数。
假如是“12000”得到是五位,则是12000先除以10000,然后2000/1000,以此类推。。。。
[/Quote]
如果是数字从右往左取
用户 昵称 2011-02-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gofqjyie 的回复:]
字符串的已解决!

但第一个问题没有,想法是获得数字长度,然后除以加权数。
假如是“12000”得到是五位,则是12000先除以10000,然后2000/1000,以此类推。。。。
[/Quote]
你不就想一位一位取出来吗?直接取出来字符减去'0'就行了。
手机写程序 2011-02-09
  • 打赏
  • 举报
回复
CString strNum = "1010";

for(int i= 0; i < strNum.GetLength();i++)
{

if(strNum.Mid(i,1) == "0" || strNum.Mid(i,1) == "1")
continue;
else
{
//error
break;
}
}
长尾巴的悟空 2011-02-09
  • 打赏
  • 举报
回复
字符串的已解决!

但第一个问题没有,想法是获得数字长度,然后除以加权数。
假如是“12000”得到是五位,则是12000先除以10000,然后2000/1000,以此类推。。。。
varding 2011-02-09
  • 打赏
  • 举报
回复
除了一个个字符比较似乎没其他方法了
用户 昵称 2011-02-09
  • 打赏
  • 举报
回复

//如果是一个普通的字符串,那么
size_t i;
for( i = 0; i < _tcslen( str ); i++ )
{
if( '0' == str[ i ] || '1' == str[ i ] )
{
ok;
}
else
{
error;
}
}

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧