C++ 输入(二)

问题背景:

int a;
while(cin>>hex>>a){
cout<<a<;
}

参考;http://blog.csdn.net/tengweitw/article/details/9004585
1、cin 输入
可以将hex oct dec与cin连用,用于指定将输入的整数的进制

   int a;
   cin>>hex>>a; //输入12h
   cout<//输出18d

当把输入传给字符数组时,会自动在后面加上一个空值字符,使之成为一个字符串。

   char name[10];
   cin>>name;       //当输入>=10时,会出错,因为会自动加'\0'
   cout<

2、cin检查输入

    int a;
  cin>>a;
  cout<char name[10];
  cin>>name;
  cout<

当输入123sdf或者123 sdf时,结果是a=123 name=sdf

3、get与getline
get(char&)与get(void)不跳过空白的单字符
get(char*,int,char)与getline(char*,int,char)默认情况下是读取整行而不是一个单词。
get(void)返回的是int型,因为它可能返回EOF=-1,则下面是错误的
cin.get().get()

到底采用哪一种输入方式?
• 如果希望跳过空白,则使用cin>>ch
• 如果希望程序检查每一个字符,则用cin.get(ch)
get()与getline()的主要区别在于:get()将换行符或则者分界符留在输入流中,这样接下来的输入操作首先看到的将是换行符或者是分界符,而getline()抽取并丢弃输入流中的换行符

你可能感兴趣的:(C++)