CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

cin 和 cin.get 区别

楼主xmutiger()2005-05-12 20:45:53 在 C/C++ / C++ 语言 提问

字符数组输入中   cin   >>   char[i];   和cin.get(char[i])的区别,特别是在'\n'这个字符。 问题点数:20、回复次数:8Top

1 楼languagec(各有所求)回复于 2005-05-12 21:33:56 得分 10

cin   是不会接收空白字符的,象空格,回车,tab等,  
  cin.get()   用于接收字符的时候,就相当与getchar()   ,不会放过任何一个字符的  
  Top

2 楼flying_dancing(小混混-_-)回复于 2005-05-12 22:58:33 得分 0

#include   <iostream>  
  using   namespace   std;  
   
  int   main(   )    
  {  
        char   c[10];  
   
        c[0]   =   cin.get(   );  
        cin.get(   c[1]   );  
        cin.get(   &c[2],3   );  
        cin.get(   &c[4],   4,   '7'   );  
   
        cout   <<   c   <<   endl;  
  }  
  //MSDNTop

3 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-05-12 23:07:45 得分 0

cin   是不会接收空白字符的,象空格,回车,tab等,  
  cin.get()   用于接收字符的时候,就相当与getchar()   ,不会放过任何一个字符的  
  ----------  
  同意。Top

4 楼llf_hust()回复于 2005-05-12 23:21:50 得分 0

同意Top

5 楼whyglinux(山青水秀)回复于 2005-05-13 09:18:33 得分 0

同意上面各位的说法。  
   
  cin.unsetf(ios_base::skipws);  
   
  这样设置之后,cin   >>   char[i];   和   cin.get(char[i])行为就是相同的了。Top

6 楼alvachien(白衣战神,四大绝技:C#/C++/T-SQL/ABAP)回复于 2005-05-13 09:45:28 得分 10

cin是istream的对象,istream.get有几个重载函数。  
  1.get(char   &ch)每次从输入流得到一个字符,包括空白字符,值放到ch。  
  2.get(),该函数直接返回字符值。  
  3.get(char   *sink,   streamsize   size,   char   delimiter='\n'),其中sink是一个字符数组,size表示最大数目。delimit表示希望停止的字符。Top

7 楼Gascan(E域特种兵)回复于 2005-05-13 10:18:09 得分 0

#include<iostream>  
  #include<cctype>  
  using   namespace   std;  
  int   main()  
  {  
  char   ch;  
  cout<<"\nenter:\n";  
  cin.get(ch);  
  while('@'!=ch)  
  {  
  if(isupper(ch))tolower(ch);  
  if(islower(ch))toupper(ch);  
  if(isdigit(ch))goto   next;  
  cout<<ch;  
  next: cin.get(ch);  
  }  
  return   0;  
  }  
   
  请问各位,为什么toupper和tolower两个函数不起作用??Top

8 楼alvachien(白衣战神,四大绝技:C#/C++/T-SQL/ABAP)回复于 2005-05-13 10:21:06 得分 0

tolower   &   toupper使用例子:  
  //   locale_tolower.cpp  
  //   compile   with:   /EHsc  
  #include   <locale>  
  #include   <iostream>  
  using   namespace   std;  
   
  int   main(   )        
  {  
        locale   loc   (   "German_Germany"   );  
        char   result1   =   tolower   (   'H',   loc   );  
        cout   <<   "The   lower   case   of   'H'   in   the   locale   is:   "  
                  <<   result1   <<   "."   <<   endl;  
        char   result2   =   tolower   (   'h',   loc   );  
        cout   <<   "The   lower   case   of   'h'   in   the   locale   is:   "  
                  <<   result2   <<   "."   <<   endl;  
        char   result3   =   tolower   (   '$',   loc   );  
        cout   <<   "The   lower   case   of   '$'   in   the   locale   is:   "  
                  <<   result3   <<   "."   <<   endl;  
  }  
  Top

相关问题

  • cin中string 和 int 如何一次性区别
  • int a; while(cin >> a) 和 char c; while(cin >> c) 有什么区别?前一个好象有问题如下.......
  • <form name="test" method="post"和method="get" 区别?
  • xmlhttp中的get和post有何区别?
  • -> 和 . 的区别?
  • in和or的区别
  • jmail和cdonts区别
  • count() 和 count(*)区别?
  • TCP和UDP区别
  • equals和==的区别

关键词

  • 字符
  • cin
  • namespace std
  • get
  • ch
  • cout
  • char
  • include using
  • int main

得分解答快速导航

  • 帖主:xmutiger
  • languagec
  • alvachien

相关链接

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

广告也精彩

反馈

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