首页 > 其他分享 >cout cin

cout cin

时间:2023-05-02 15:34:57浏览次数:36  
标签:输出 cout unsigned long cin setw

cin

istream类,定在文件为iostream头文件,为以下数据类型重载了>>抽取操作符,所重载的函数称为格式化输入函数。 signed char &、unsigned char &、char &、short &、unsigned short &、int &、unsigned int &、long &、unsigned long &、long long & (C++11)、unsigned long long & (C++11)、float &、double &、long double & 成员函数原型为:

istream & operator>>(type &);//type为以上数据类型
//这些函数被称为格式化输入函数,函数可以将输入的字符串转换为type格式

cin检查输入可以被放在循环条件中来终止循环。需要注意的是,循环终止后不再允许用户输入,即使调用cin>>也没用;如需要用户输入,则需要设置标识符为有效才可。

cin.clear(); // reset input设置标志位为有效

对于如下输入:

123ewdwede

如果读入格式为:

int x;
string ch;
cin >> x >> ch;
cout << x << " " << ch;

仍然可以正常输出

cout格式化输出

使用流操作算子

C++常用的输出流操作算子如下图所示,它们都是在头文件iomanip中定义的;要使用这些流操作算子,必须包含该头文件。

流操作算子 作用
dec 以十进制形式输出整数(默认以这种方式)
hex 以十六进制形式输出整数
oct 以八进制形式输出整数
fixed 以普通小数形式输出浮点数
scientific 以科学计数法形式输出浮点数
left 左对齐,即在宽度不足时将填充字符添加到右边
right 右对齐,即在宽度不足时将填充字符添加到左边(默认以这种方式)
setbase(b) setbase(b)
setw(w) setw(w)
setfill(c) setfill(c)
setprecision(n) 设置输出浮点数的精度为 n。
在使用非 fixed 且非 scientific 方式输出的情况下,n 即为有效数字最多的位数,如果有效数字位数超过 n,则小数部分四舍五人,或自动变为科学计 数法输出并保留一共 n 位有效数字。
在使用 fixed 方式和 scientific 方式输出的情况下,n 是小数点后面应保留的位数。

示例

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    double pi = 3.1415926;
    cout << pi << endl;
    cout << fixed << setprecision(7) << pi << endl;
    cout << setprecision(10) << pi << endl;
    cout << setfill('*') << setw(15) << pi << endl;
    return 0;
}


需要注意的是,setw() 算子所起的作用是一次性的,即只影响下一次输出。每次需要指定输出宽度时都要使用 setw()。

在读入字符串时,setw() 还能影响 cin 的行为。例如下面的程序:

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    string s1, s2;
    cin >> setw(3) >> s1 >> setw(3) >> s2;
    cout << s1 << ", " << s2 << endl;
    return 0;
}


参考博客
C++ cin的使用,看这一篇就够了
C++ cout格式化输出(输出格式)完全攻略

标签:输出,cout,unsigned,long,cin,setw
From: https://www.cnblogs.com/hetailang/p/17311867.html

相关文章

  • C++-改变终端(cout/printf)输出不同颜色的字体-Linux
    C++-改变终端(cout/printf)输出不同颜色的字体-Linuxhttps://blog.csdn.net/qq_41972382/article/details/90311102不同颜色的输出主要依据格式ESC[*m,ESC的八进制为\033,*可以是多个属性的组合,用,隔开。printf#include<iostream>usingnamespacestd;intmain(){print......
  • Ray Tracing: The Rest of Your Life
    3.OneDimensionalMCIntegration蒙特卡洛积分[1]一般表达式如下:这样做的原因是保持期望值,做到无偏差。重要性采样importancesampling:一般采样的概率分布与目标函数的概率分布一致。5.LightScatteringAlbedo当光子打在材料上,会有一定概率被吸收,也可能被反射出去......
  • 「解题报告」AGC013E Placing Squares
    想了一会然后看题解,翻到日文题解然后又关了,然后突然会了,怎么回事第一眼生成函数!做不了。考虑经典拆贡献方法,把平方的贡献变成从区间中选两个数的方案数。这样我们可以用一个DP来计数。设\(f_{i,j}\)表示到了第\(i\)格,已经选了\(j\)个数的方案数。如果没有限制,那么就直......
  • Introducing the QCN9074: A Revolutionary New Chip for the Internet of Things
     TheQCN9074isahigh-performancechipdesignedtomeetthedemandingneedsoftheInternetofThings(IoT)market.Withitspowerfulprocessingcapabilities,advancedconnectivityfeatures,andintegratedsecurityandpowermanagementfeatures,theQCN......
  • Replacing Windows Notepad with Notepad2 4.1.24 (or newer)
    ReplacingWindowsNotepadwithNotepad24.1.24(ornewer)Asofversion4.1.24,theofficialreleaseofNotepad2supportsthismethodforreplacingWindowsNotepad,sothestepsoutlinedabovewillworkfine.However,there'snosupporttoperformthe......
  • Medicine River-------------Learning Journals 8
      htttp://www.enotes.com......
  • 【c&c++】C++ 关于编译出现“undefined reference to `std::cout‘“的问题
    1、问题概述        在使用gcc编译c++代码时会出现undefinedreferenceto`std::cout',如编译如下代码:#include<iostream>usingnamespacestd;intmain(){cout<<"Helloworld!";return0;}然而,gcc下编译出现的问题是: 2、解决方法使用g++编译,g++......
  • cinema 4d r26怎么安装,安装cinema 4d硬件要求
    CINEMA4D具有强大的建模和动画工具,可以帮助用户轻松创建各种三维模型和动画效果。它支持多种建模方法,如多边形建模、NURBS建模、体素建模等等。用户可以使用这些工具创建各种复杂的几何体,并对其进行编辑和调整。CINEMA4D还提供了丰富的材质和纹理库,用户可以在其中选择和应用各......
  • 使用cin和getline()输入字符串
    相同点:作为while的条件时,终止条件均为:Ctrlz(或则Z),执行本循环,执行完后进入下一个循环均为换行符。1strings;2while(cin>>s)3{4cout<<"youinputis:"<<endl;5cout<<s<<endl;6}1strings;2whi......
  • Succinctly 中文系列教程(二) 20220109 更新
    Succinctly.NET本地化教程零、简介一、从本地化开始二、日期和时间三、周数四、时区五、数字六、货币七、文本八、附录SuccinctlyLinux教程一、简介二、Linux目录结构三、命令行界面四、目录五、查看文件和目录详情六、权限七、查看和编辑文件八、删除、移动和重命名文件和目......