C语言中的EOF符号常量
生活随笔
收集整理的這篇文章主要介紹了
C语言中的EOF符号常量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先看一段代碼
代碼 /* 將輸入復制到輸出:讀一個字符
while(該字符不是文件結束指示符)
輸出剛讀入的字符
讀下一個字符
*/
#include <stdio.h>
int main()
{
int c;
while((c=getchar())!= EOF)
{
putchar(c);
}
return 0;
}
如何區分文件中的有效數據和輸入結束符呢?
C語言采用的解決辦法是:在沒有輸入時getchar函數將返回一個特殊值,這個特殊值與任何實際字符都不同。這個值成為EOF(end of file ,文件結束)。我們在聲明變量c 的時候,必須讓它大到足以存放getchar函數返回的任何值。之所以不把c聲明成char類型,是因為它必須足夠大,除了能存儲任何可能的字符外還要能存儲文件結束符EOF。
EOF的輸入由系統鎖定。windows下是ctrl+z,linux/unix下是ctrl+d,具體可以s參考這里。
?
?打印EOF的值
/* 打印EOF的值*/
#include <stdio.h>
int main()
{
printf("EOF is %d\n",EOF);
return 0;
}
符號常量EOF是在頭文件<stdio.h>中定義的。程序中,printf()語句雙引號外的EOF將被替換為頭文件<stdio.h>中
#define EOF
定義的值。不同的系統中,被定義的值不唯一。這也是使用EOF等標準常量能夠增加程序可移植性的原因所在。
?
?
轉載于:https://www.cnblogs.com/Ryan_j/archive/2011/01/09/1931513.html
總結
以上是生活随笔為你收集整理的C语言中的EOF符号常量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: List转DataTable(反射)
- 下一篇: 计算球面上两点弧长