您的位置:首页 > 编程语言 > C语言/C++

c++ --> cin和cout输入输出格式

2015-09-11 17:19 288 查看
[b]cin和cout输入输出格式[/b]

Cout 输出

[b][b][b]    [b][b][b][b]1[b]>. bool型输出[/b][/b][/b][/b][/b][/b]
[/b][/b]

cout << true <<" or " << false <<endl ;              // 1 or 0
cout << boolalpha << true << " or " << false <<endl ; // true or false
cout << noboolalpha << true <<" or " <<false <<endl ; // 1 or 0
cout << boolalpha << 0 <<endl ;                      // 0    原因: 0 在cout中不等价于 false


[b][b][b]    [b][b][b][b]2[b]>. 整型输出
[/b][/b][/b][/b][/b][/b][/b][/b]

const int ival = 17 ;        // 'ival' is constant, so value never change
cout << oct << ival <<endl ;        // 21  8 进制
cout << dec << ival <<endl ;        // 017  10 进制
cout << hex << ival <<endl ;        // 0x11  16 进制
cout << hex << 17.01 <<endl ;        // 17.01 : 不受影响

cout << showbase << uppercase ;      // Show base when printing integral values
cout << hex << 15 <<endl ;            // 0XF 大写形式

cout << nouppercase ;
cout << hex << 15 <<endl ;            // 0xf 小写形式
cout << noshowbase ;                  // Reset state of the stream


[b][b][b]    [b][b][b][b]3[b]>. 浮点型输出[/b][/b][/b][/b][/b][/b][/b][/b]

cout << setprecision(4) << 12.345678 << endl ;    // 12.35  四舍五入(rounded)
cout << setprecision(10) << 12.345678 << endl ;   // 12.345678
cout << cout.precision() << endl ;               // 10 输出当前精度

cout << showpoint << 10.0 << endl ;    // 10.0000
cout << noshowpoint << endl ;         // 恢复默认状态


[b][b][b]    [b][b][b][b]4[b]>. 科学计数法(scientific) 和 定点小数(fixed)[/b][/b][/b][/b][/b][/b][/b][/b]

float f = 101 / 6.0 ;
cout << fixed << f <<endl ;           // 16.83334 : 小数点后共6位
cout << scientific << f <<endl ;      // 1.683333e+001 : 小数点后共6位
cout.unsetf(ostream::floatfield) ;   // 恢复到初始状态


[b][b][b]    [b][b][b][b]5[b]>. 输出[b]填充
[/b][/b][/b][/b][/b][/b][/b][/b][/b]

//输出宽度,只控制最近的一个输出
cout << setw(10) << 12.3 << endl ;     // ______12.3    补齐10位
cout << setw(10) << 12 << "###" << endl ;   // ________12###

//左对齐
cout << left ;                                 // 左对齐
cout << setw(5) << 12 << setw(5) << 34 << endl ;   // 12___34___

//补充指定字符
cout << setfill('*') ;          // 补充 "*" 号
cout << setw(5) << 12 << endl ;   // 12***

//默认
cout << internal ;               // 默认
cout << setw(5) << -12 <<endl ;   // -**12


Cin 输入 

   [b]1[b]>. [/b]cin[/b]

输入结束条件 :遇到Enter、Space、Tab键。

int a;
cin >> a;


带符号输入,比如输入(a,b,c)

int a, b,;
cin >> a;
cin.ignore( 1, ',' );
cin >> b;


    2>[b][b][b]. [/b][/b]cin.get(数组名,长度,结束符)[/b]

其中结束符为可选参数,读入的字符个数最多为(长度-1)个,结束符规定结束字符串读取的字符,默认为ENTER,ch=cin.get() 与 cin.get(ch)等价。

//输入  "asdfqwert"
cin.get( c1, 8, 'q' );  //"asdf"   遇到‘q’结束,最多读取7个字符!!!
cin.get(c2);    //获取字符 “q”
cin.clear();
cout << c1 << " " << c2 << endl; // “a s”打印两个字符
cout << ( int )c2 << endl;  //113


[b][b][b]    3[b]>. [/b][/b]cin.[b]getline([/b])[/b][/b]

cin.getline()当输入超长时,会引起cin函数的错误,后面的cin操作将不再执行。

//输入 “12345”
cin.getline(a, 5);   //“1234”  读取4个字符
cin >> ch;        //“0”
cout << a << endl;
cout << (int)ch << endl;


这里其实cin>>ch语句没有执行,是因为cin出错了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: