fgetsのいくつかの終了方法
2618 ワード
次の手順を参照してください.
<!--
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->
上記のプログラムが完了した機能は、次のとおりです.
リターンのみ入力するかquitを入力するかctrldプログラムを押すと自動的に終了します.
ここでctrl dは、端末からの入力が終了した、すなわちstdin入力が終了したことを示す.
1: #include <stdio.h>
2: #include <string.h>
3:
4: int main(void)
5: {
6: char buffer[128];
7:
8: while((fgets(buffer, 128, stdin) != NULL) && (buffer[0] != '
'))
9: {
10: if(strncmp(buffer, "quit", 4) == 0)
11: {
12: break;
13: }
14: fputs(buffer, stdout);
15: }
16: return 0;
17: }
<!--
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
-->
上記のプログラムが完了した機能は、次のとおりです.
リターンのみ入力するかquitを入力するかctrldプログラムを押すと自動的に終了します.
ここでctrl dは、端末からの入力が終了した、すなわちstdin入力が終了したことを示す.