📄 cincout.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="css/print.css" type="text/css">
<link rel="stylesheet" href="css/stdlayout.css" type="text/css">
<meta content="text/html; charset=gb2312" http-equiv="content-type">
<title>终端机输入输出</title>
</head>
<body>
<h3><a href="http://caterpillar.onlyfun.net/GossipCN/index.html">From
Gossip@caterpillar</a></h3>
<h1><a href="CppGossip.html">C++ Gossip: 终端机输入输出</a></h1>
<br>
学习C++的过程中,通常是由终端机,也就是文字模式下开始,为了与程式互动,在终端机下输出程式执行结果,或是从终端机取得使用者的输入资料是基本需
求,在C++中输入输出是由标准library中的iostream library提供,这也就是为何您要在程式的一开头终是加上:<br>
<div style="margin-left: 40px;"><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">#include
<iostream> </span><br>
</div>
<br>
将讯息输出至终端机,称之为“标准输出”(Stand
output),C++藉由iostream物件cout(发音see-out)将讯息输出至终端机,<
<运算子将一个指定的讯息或数值指引至标准输出物件上,例如显示"Hello! World!"讯息时,您可以这么撰写:<br>
<div style="margin-left: 40px;"><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">cout
<< "Hello! World!";</span><br>
</div>
<br>
标准输出可以被重新导向至一个档案,您可以在执行程式时使用"
>>"将输出结果导向至指定的档案,例如(假设编译后的可执行档为main):<br>
<div style="margin-left: 40px;"><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">main
>> result.txt</span><br>
</div>
<br>
如果程式的目的是显示"Hello! World!",则上面的执行会将结果导向至result.txt,而不会在荧幕上显示"Hello!
World!",result.txt中将会有输出结果Hello!
World!。 <br>
<br>
您也可以使用iostream物件cerr(发音see-err),称之为“标准错误”(Standard
error),它会将讯息输出至终端机上,与标准输出不同的是,cerr会
立即显示指定的(错误)讯息给使用者知道,即使您指定程式将结果重新导向至档案,cerr输出串流的讯息并不会被重新导向,而仍会显示在指定的显示装置
上,下面这个例子给您一个简单的测试方式:<br>
<br>
<pre>#include <iostream> <br>using namespace std; <br><br>int main() { <br> <br> cout << "Hello! World!" << endl;<br> cerr << "Sorry! World!" << endl;<br> <br> return 0;<br>}</pre>
<br>
在编译程式之后,请如下执行程式,您会发现输出结果如下:<br>
<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="background-color: rgb(0, 0, 0);"><small><span style="color: rgb(255, 255, 255);">main >> result.txt<br>
Sorry! World!</span></small></td>
</tr>
</tbody>
</table>
<br>
开启result.txt之后,您会发现当中只有Hello! World!讯息,而Sorry!
World!讯息并没有被导向至档案中,而是直接显示在终端机中。 <br>
<br>
要
重新导向 standard output 是用 '>', standard input 则是 "<",而">>"
除了重导 standard output
后,还有附加的功能,也就是会把输出附加到被导向的目标档案后头,如果目标档案本来不存在,那么效果就和">"一样。<br>
<br>
如果打算取得使用者的输入,则可以使用“标准输入”(Standard
input)的iostream物件cin(发音see-in),并使用>>运算子将输入的讯息指定给变数,例如:<br>
<pre>#include <iostream> <br>using namespace std; <br><br>int main() { <br> int number = int();<br> cout << "请输入数字: "; <br> cin >> number;<br> cout << "输入的数字: " << number << endl;<br> <br> return 0;<br>}</pre>
<br>
执行结果:<br>
<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="background-color: rgb(0, 0, 0);"><small><span style="color: rgb(255, 255, 255);">请输入数字: 10<br>
输入的数字: 10</span></small></td>
</tr>
</tbody>
</table>
<br>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -