菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C++ 教程

C++ 主页 C++ 简介 C++ 入门 C++ 语法 C++ 输出 C++ 注释 C++ 变量 C++ 用户输入 C++ 数据类型 C++ 运算符 C++ 字符串 C++ 数学 C++ 布尔值 C++ If...Else C++ Switch C++ While 循环 C++ For 循环 C++ Break/Continue C++ 数组 C++ 结构体 C++ 枚举 C++ 引用 C++ 指针

C++ 函数

C++ 函数 C++ 函数参数 C++ 函数重载 C++ 作用域 C++ 递归

C++ 类

C++ OOP C++ 类/对象 C++ 类方法 C++ 构造函数 C++ 访问修饰符 C++ 封装 C++ 继承 C++ 多态 C++ 文件 C++ 异常 C++ 日期

C++ 数据结构

C++ 数据结构与 STL C++ Vectors C++ List C++ Stacks C++ Queues C++ Deque C++ Sets C++ Maps C++ 迭代器 C++ 算法

C++ How To

C++ 两数相加 C++ 随机数

C++ 参考

C++ 参考 C++ 关键字 C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime> C++ <vector> C++ <algorithm>

C++ 示例

C++ 示例 C++ 现实生活中的例子 C++ 编译器 C++ 练习 C++ 测验 C++ 证书


C++ cout 对象

❮ iostream 对象


示例

使用 cout 对象输出不同数据类型

string myStr = "Hello World!";
bool myBool = false;
int myInt = 50;
float myFloat = 19.99;

cout << myStr << "\n";
cout << myBool << "\n";
cout << myInt << "\n";
cout << myFloat << "\n";

自己动手试一试 »


定义和用法

The cout object is used to output values/print text.

The cout object is used to output values/print text.

cout << "Hello World!";

自己动手试一试 »

The insertion operator can be used more than once on the same line to output multiple values

cout << "The answer is: " << x;

自己动手试一试 »

注意: cout 对象定义在 <iostream> 头文件中。


操作符

Manipulators allow you to change the formatting of the output. They are used with the << insertion operator in the same way as literal values and variables, and they affect output that follows them.

除了 setw(),操作符的效果会一直保持,直到另一个操作符改变它。

The table below shows a list of useful manipulators

操作符 描述 示例
boolalpha Displays boolean values as "true" and "false" instead of "1" and "0". cout << boolalpha << false;
dec 将整数表示为十进制数字。 cout << dec << 12;
endl Outputs a newline character. This manipulator also flushes the output buffer which makes it less efficient than printing \n. cout << "Line 1" << endl << "Line 2";
ends Outputs the null terminating character used to end C-style strings. Mainly used when writing into files. cout << "Hello World!" << ends;
fixed 用固定的小数位数表示浮点数。小数位数可以使用 setprecision() 操作符来确定。 cout << fixed << 19.99;
hex 将整数表示为十六进制数字。 cout << hex << 12;
internal 如果指定了宽度(使用 setw() 操作符),数字的符号将左对齐,而值将右对齐,其他数据类型的输出将右对齐。 cout << setw(10) << internal << -12345;
left 如果指定了宽度(使用 setw() 操作符),则将输出左对齐。 cout << setw(10) << left << "Hello";
noboolalpha 用于重置由 boolalpha 操作符所做的更改。 cout << noboolalpha << false;
noshowbase 用于重置由 showbase 操作符所做的更改。 cout << hex << noshowbase << 12;
noshowpoint 用于重置由 showpoint 操作符所做的更改。 cout << noshowpoint << 12345.0;
noshowpos 用于重置由 showpos 操作符所做的更改。 cout << noshowpos << 12;
nouppercase 用于重置由 uppercase 操作符所做的更改。 cout << hex << nouppercase << 12;
oct 将整数表示为八进制数字。 cout << oct << 12;
right 如果指定了宽度(使用 setw() 操作符),则将输出右对齐。 cout << setw(10) << right << "Hello";
fixed 用科学记数法表示浮点数。小数位数可以使用 setprecision() 操作符来确定。 cout << fixed << 19.99;
setfill() 选择一个字符用作填充。
需要 <iomanip> 库。
cout << setfill('.') << setw(10) << 19.99;
setprecision() 选择浮点数的精度。如果使用了 fixedscientific 操作符,它指定小数位数,否则它指定有效数字的数量。
需要 <iomanip> 库。
cout << setprecision(4) << 12.3456;
setw() 指定下一个输出的最小字符宽度。如果输出不够宽,则添加填充以填充剩余空间。
需要 <iomanip> 库。
cout << setw(10) << "Hello";
showbase 将整数表示为十六进制或八进制时,在数字前加上 "0x" 或 "0" 以显示其基数。 cout << hex << showbase << 12;
showpoint Always displays the decimal point for floating point numbers even if it is not needed. cout << showpoint << 12345.0;
showpos Always displays a + sign next to positive numbers. cout << showpos << 12;
uppercase 用大写字母表示十六进制数字和科学记数法中的 "e"。 cout << hex << uppercase << 12;

示例

Use manipulators to change how output is formatted

// Booleans
cout << "Booleans\n";
cout << false << "\n";
cout << boolalpha << false << "\n";

// Hexadecimal and octal numbers
cout << "\nHexadecimal and octal numbers\n";
int myInt = 14;
cout << dec << myInt << "\n";
cout << hex << myInt << "\n";
cout << oct << myInt << "\n";
cout << showbase << uppercase;
cout << hex << myInt << "\n";
cout << oct << myInt << "\n";
cout << dec;

// Floating point numbers
cout << "\nFloating point numbers\n";
float myFloat = 19.99;
cout << myFloat << "\n";
cout << showpos << showpoint << 12345.0 << "\n";
cout << noshowpos << noshowpoint;
cout << fixed << myFloat << "\n";
cout << scientific << myFloat << "\n";

// Alignment
cout << "\nAlignment\n";
cout << setw(10) << left << "Left" << "\n";
cout << setw(10) << right << "Right" << "\n";
cout << setw(10) << internal << -12345 << " (Internal)\n";

自己动手试一试 »


方法

The cout object also has methods which can do the same operations as the << insertion operator.

Output methods

The cout.write(str, n) method outputs the first n characters from the char array str without any formatting.

示例

char myStr[] = "Hello World!";
cout.write(myStr, 5);

自己动手试一试 »

The cout.put(c) method outputs the specified character c without any formatting.

示例

char grade = 'B';
cout.put(grade);

自己动手试一试 »

Formatting methods

The cout.precision(p) method specifies how many digits are used to represent floating point numbers. By default it specifies the number of significant digits to display. If the ios::fixed or ios::scientific flag is enabled then it specifies how many digits follow the decimal point.

示例

cout.precision(4);
cout << 12.3456;

自己动手试一试 »

The cout.width(w) method specifies the minimum number of characters wide the next output should occupy. If the output does not have enough characters then padding characters will be added to fill up the remaining space. By default the padding characters are spaces and they are added to the left so that the content is aligned to the right. The alignment can be changed by using one of the ios::adjustfield flags described in the Flags section below.

示例

cout.width(10);
cout << 5 << "\n";
cout.width(10);
cout << 25 << "\n";
cout.width(10);
cout << 125 << "\n";

自己动手试一试 »

The cout.fill(c) method specifies which character will be used as padding.

示例

cout.fill('.');
cout.width(10);
cout << 5 << "\n";
cout.width(10);
cout << 25 << "\n";
cout.width(10);
cout << 125 << "\n";

自己动手试一试 »

Flags

The setf() and unsetf() methods are used to set or unset flags which change the formatting of the output. There are a variety of different flags. Some flags belong to a group and, in that case, the setf() method should have a second parameter specifying which group it belongs to so that the other flags of the group can be reset.

Flag 语法 描述
ios::boolalpha cout.setf(ios::boolalpha) Displays boolean values as "true" and "false" instead of "1" and "0".
ios::showbase cout.setf(ios::showbase) 将整数表示为十六进制或八进制时,在数字前加上 "0x" 或 "0" 以显示其基数。
ios::showpoint cout.setf(ios::showpoint) Always displays the decimal point for floating point numbers even if it is not needed.
ios::showpos cout.setf(ios::showpoint) Always displays a + sign next to positive numbers.
ios::uppercase cout.setf(ios::uppercase) 用大写字母表示十六进制数字和科学记数法中的 "e"。
ios::dec cout.setf(ios::dec, ios::basefield) Represents integers as decimal digits. Belongs to the ios::basefield group.
ios::hex cout.setf(ios::hex, ios::basefield) Represents integers as hexadecimal digits. Belongs to the ios::basefield group.
ios::oct cout.setf(ios::oct, ios::basefield) Represents integers as octal digits. Belongs to the ios::basefield group.
ios::fixed cout.setf(ios::fixed, ios::floatfield) Represents floating point numbers with a fixed number of decimal places. The number of decimal places can be established with the cout.precision() method. Belongs to the ios::floatfield group.
ios::scientific cout.setf(ios::scientific, ios::floatfield) Represents floating point numbers in scientific notation. The number of decimal places can be established with the cout.precision() method. Belongs to the ios::floatfield group.
ios::internal cout.setf(ios::internal, ios::adjustfield) If a width is specified, for numbers the sign is left-aligned while the value is right-aligned, for other data types the output is aligned to the right. Belongs to the ios::adjustfield group.
ios::left cout.setf(ios::left, ios::adjustfield) Aligns output to the left when a width is specified. Belongs to the ios::adjustfield group.
ios::right cout.setf(ios::right, ios::adjustfield) Aligns output to the right when a width is specified. Belongs to the ios::adjustfield group.

示例

Use flags to change how output is formatted

// Booleans
cout << "Booleans\n";
cout << false << "\n";
cout.setf(ios::boolalpha);
cout << false << "\n";

// Hexadecimal and octal numbers
cout << "\nHexadecimal and octal numbers\n";
int myInt = 14;
cout << myInt << "\n";
cout.setf(ios::hex, ios::basefield);
cout << myInt << "\n";
cout.setf(ios::oct, ios::basefield);
cout << myInt << "\n";
cout.setf(ios::showbase);
cout.setf(ios::uppercase);
cout.setf(ios::hex, ios::basefield);
cout << myInt << "\n";
cout.setf(ios::oct, ios::basefield);
cout << myInt << "\n";
cout.setf(ios::dec, ios::basefield);

// Floating point numbers
cout << "\nFloating point numbers\n";
float myFloat = 19.99;
cout << myFloat << "\n";
cout.setf(ios::fixed, ios::floatfield);
cout << myFloat << "\n";
cout.setf(ios::scientific, ios::floatfield);
cout << myFloat << "\n";
cout.unsetf(ios::floatfield);
cout.setf(ios::showpos);
cout.setf(ios::showpoint);
cout << 12345.0 << "\n";

// Alignment
cout << "\nAlignment\n";
cout.setf(ios::left, ios::adjustfield);
cout << setw(10) << "Left" << "\n";
cout.setf(ios::right, ios::adjustfield);
cout << setw(10) << "Right" << "\n";
cout.setf(ios::internal, ios::adjustfield);
cout << setw(10) << 12345.0 << " (Internal)\n";

自己动手试一试 »


❮ iostream 对象

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持