关于cin.width和cout.width用法详解
cin.width(5) 5表示cin输入流从缓冲区读取了4个字符,其中最后补上一个空格键
cin.out(5) 5表示域宽为5即输出的这行字符串的长度为5个字符长度
一个小试验
当输入流从缓冲区中读取的字符数小于域宽时
当我们输入:Up is the most handsome boy in the world!
如上图所示,当我们输入的字符串数小于域宽时,在输入字符串的左边补上空格键使整体等于域宽长度,况且每行的输入都是左对齐。况且每经过一个循环域宽+1
这里我们可以发现,明明我们每次输入的字符个数是4,但为什么有的只能看到仅仅显示了两个字符呢。
即 cin.width(5) 对应只输出两个字符 —> is 或者三个字符 -> the ,这是因为cin在缓存区读取字符时,当读到空格键时,会停止读取字符。
当输入流从缓冲区中读取的字符数等于域宽时
当我们输入:qwertyuiopasdfg
输出结果如下:
当然为了使输入字符串长度等于域宽,这了我们不能加空格啦,加空格后,会在输入字符串时遇见空格后停止读取的。当然这也仅仅是小玩一下,方便大家理解cin.width和cin.out的用法。