计算机视觉
图像处理

【C++】输出流cout方法

文章目录

write():

输出指定字数的字符串。

  1. basiC++_ostream<charT,traints>& write(const char_type* s, streamsize n);

1、write遇到空字符时不会停止

2、即使超出边界,write仍继续打印
3、可用于数据数据——需将数值数据强制转换为char*
  1. #include <iostream>
  2. #include <cstring>  // or else string.h
  3. int main()
  4. {
  5.     using std::cout;
  6.     using std::endl;
  7.     const char * state1 = “Florida”;
  8.     const char * state2 = “Kansas”;
  9.     const char * state3 = “Euphoria”;
  10.     int len = std::strlen(state2);
  11.     cout << “Increasing loop index:n”;
  12.     int i;
  13.     for (i = 1; i <= len; i++)
  14.     {
  15.         cout.write(state2,i);
  16.         cout << endl;
  17.     }
  18.     cout << “Decreasing loop index:n”;
  19.     for (i = len; i > 0; i–)
  20.         cout.write(state2,i) << endl;
  21.     cout << “Exceeding string length:n”;
  22.     cout.write(state2, len + 5) << endl;
  23.     long val=560031841;
  24.     cout.write((char*)&val,sizeof(long));
  25.     cout<<endl;
  26.     return 0;
  27. }

dec()、hex()、oct()

计数制函数:十进制、十六进制、八进制
  1.    cout << “Enter an integer: “;
  2. int n;
  3. cin >> n;
  4.    cout << “n     n*nn”;
  5.    cout << n << ”     “ << n * n << ” (decimal)n”;
  6. // set to hex mode
  7.    cout << hex;
  8.    cout << n << ”     “;
  9.    cout << n * n << ” (hexadecimal)n”;
  10. // set to octal mode
  11.    cout << oct << n << ”     “ << n * n << ” (octal)n”;
  12. // alternative way to call a manipulator
  13.    dec(cout);
  14.    cout << n << ”     “ << n * n << ” (decimal)n”;

width()、fill():

调整字宽、填充字符
  1. int main()
  2. {
  3.     using std::cout;
  4.     int w = cout.width(30);
  5.     cout << “default field width = “ << w << “:n”;
  6.     cout.width(5);
  7.     cout << “N” <<‘:’;
  8.     cout.width(8);
  9.     cout << “N * N” << “:n”;
  10.     for (long i = 1; i <= 100; i *= 10)
  11.     {
  12.         cout.width(5);
  13.         cout << i <<‘:’;
  14.         cout.width(8);
  15.         cout << i * i << “:n”;
  16.     }
  17.     cout.fill(‘*’);
  18.     const char * staff[2] = { “Waldo Whipsnade”“Wilmarie Wooper”};
  19.     long bonus[2] = {900, 1350};
  20.     for (int i = 0; i < 2; i++)
  21.     {
  22.         cout << staff[i] << “: $”;
  23.         cout.width(7);
  24.         cout << bonus[i] << “n”;
  25.     }
  26.     return 0;
  27. }

iomanip设置格式

iomanip中3个常用的控制符:setprecision()、setfill()、setw(),分别用于设置精度、填充字符、和字段宽。
  1. // use new standard manipulators
  2. cout << showpoint << fixed << right;
  3. // use iomanip manipulators
  4. cout << setw(6) << “N” << setw(14) << “square root”
  5.      << setw(15) << “fourth rootn”;
  6. double root;
  7. for (int n = 10; n <=100; n += 10)
  8. {
  9.     root = sqrt(double(n));
  10.     cout << setw(6) << setfill(‘.’) << n << setfill(‘ ‘)
  11.            << setw(12) << setprecision(3) << root
  12.            << setw(14) << setprecision(4) << sqrt(root)
  13.            << endl;

参见《输入流cin方法》

*参考资料:《C++ Primer Plus 5nd》

转载注明来源:CV视觉网 » 【C++】输出流cout方法

分享到:更多 ()
扫描二维码,给作者 打赏
pay_weixinpay_weixin

请选择你看完该文章的感受:

0不错 0超赞 0无聊 0扯淡 0不解 0路过

评论 3

评论前必须登录!