CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  工具平台和程序库

cin的问题?

楼主piaorenqian(湖心孤舟)2003-12-02 17:56:40 在 C/C++ / 工具平台和程序库 提问

在C中,我可以控制输入的格式,比如可以如下将输入的10当作数值  
  char   cmd;  
  scanf("%d",&cmd);  
   
  如果用cin该如何弄拉? 问题点数:100、回复次数:9Top

1 楼rtdb(东临碣石)回复于 2003-12-02 18:03:19 得分 10

cin>>cmd;  
  Top

2 楼piaorenqian(湖心孤舟)回复于 2003-12-02 18:08:43 得分 0

如果这样输入,比如输入   10,   结果是1这个字符存在cmd中,而我需要的结果却是cmd在内存中的值为数值10,Top

3 楼fierygnu(va_list)回复于 2003-12-02 18:13:41 得分 30

char   cmd;  
  scanf("%d",&cmd);    
  这个是错误的,%d希望的是int*,这样使用会有非法内存写入问题。  
   
  所以,cin   >>cmd要实现只能是:  
  1、输入ASCII码为10的字符  
  2、用一个int接收输入10,然后赋值给cmd。Top

4 楼antijpn(antijpn)回复于 2003-12-02 18:15:36 得分 20

那就用int类型的变量啊,iostream库对>>操作符进行了重载,而且进行了类型检查,而scanf和printf之类的变参函数无法进行类型匹配,所以没有办法按照你的想法把10放到一个char类型的变量里面,除非你进行强制类型转换。Top

5 楼piaorenqian(湖心孤舟)回复于 2003-12-02 18:25:27 得分 0

不会吧,有错误吗?我一直都是这样用c格式输入的!  
  其实结果就象这样的  
  cmd   =   10;  
  Top

6 楼piaorenqian(湖心孤舟)回复于 2003-12-02 18:30:08 得分 0

其实我的目的是输入一个字节的数值,一个无符号字节可以表示0-255,我的目的就是想直接将输入的一个书当作一个字节的数值存在unsigned   char   中Top

7 楼cai114(硬鸡常空(KingKong归来))回复于 2003-12-02 20:38:36 得分 20

强制类型转换一下吧,这样还省不少事Top

8 楼hdslah()回复于 2003-12-02 21:48:44 得分 20

0-127可用以格式输入,但大于则不行Top

9 楼fierygnu(va_list)回复于 2003-12-03 09:34:41 得分 0

“我一直都是这样用c格式输入的!”,说明你一直走在悬崖边,还说明你一直用x86机器。  
  这样是不对的。  
   
  Top

相关问题

  • cin, cout
  • cin的问题??
  • cin的问题
  • cin操作
  • cin 和 cin.get 区别
  • cin相关问题
  • cin的用法,很弱智
  • cin的用法,很弱智
  • 关于cin的问题。
  • 标准库中的cin

关键词

  • 数值
  • 输入
  • cin
  • cmd
  • 类型
  • 格式
  • scanf
  • char

得分解答快速导航

  • 帖主:piaorenqian
  • rtdb
  • fierygnu
  • antijpn
  • cai114
  • hdslah

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo