C語言難題:下面的代碼是什麼意思啊??FILE和*fp是什麼意思?fopen()、strchr、fgets()庫函數?
int ReadDat(void)
{
FILE *fp;
int i=0;
char *p;
if((fp=fopen("IN.DAT","r"))==NULL) return 1;
while(fgets(xx[i],80,fp)!=NULL){
p=strchr(xx[i],'\n');
if(p)*p=0;
i++;
}
最佳回答:
希望樓主仔細讀一下C語言中關於帶緩存的文件操作部分的說明。這裡簡單介紹一下:
C語言的底層文件操作函數(UNIX中也有稱作系統調用的)包括:open\read\write\close等,因為底層函數對磁盤的讀寫過於頻繁對系統運行效率和磁盤壽命等影響較大,因此,又推出了包裝過的一些相應的函數:帶緩存的文件操作,包括:fopen\fread\fwrite\fclose等。
FILE *fp ; FILE是一種數據類型,與int、char、float等類似。fp是文件指針。
一般文件操作一定經過以下三步:
一、打開文件 open---fopen open打開文件返回一個int類型的文件描述符。fopen打開文件返回一個FILE類型的文件指針。
二、操作文件:讀、寫 read --- fread , write----fwrite , fgets讀一行 fputs輸出一個串 等
三、關閉文件close---fclose (寫程序時,一定要注意在退出程序前關閉打開的文件)
strchr是一個字符串操作函數,從一個字符串中查找一個字符,找到了就返回那個字符所在的地址,找不到會返回NULL。