1. c語言定義文件指針時(FILE *fp)一定要寫*fp嗎、可以換成別的字母不
這個fp這個標識符是可以換的。。。只不過一般情況下,書上,老師都是這么乾的。
但是*一定要留著,*是類型的一部分,是FILE*的一部分,表示文件指針,這個是不能變的。
如果你要寫一個既要文件輸入又要文件輸出的功能,肯定要兩個文件指針,不能兩個都定義成fp啊,這個隨便定義的。
2. 設fp是指向某文件的文件指針,若函數fclose(fp)操作不成功,返回值是_________。
選擇【C.EOF】
fclose正常完成關閉文件操作時,fclose函數返回值為0,否則返回EOF。
在程序結束之前應關閉所有文件,這樣做的目的是防止因為沒有關閉文件而造成的數據流失。
3. C語言中FILE*fp是什麼意思
FILE 是系統定義的一種結構類型的名稱。
FILE *fp; 變數類型聲明。聲明 fp 是 FILE型指針,用於指向FILE類型 (文件結構)。
文件流-- 排成一隊,有先後次序的 輸入(或輸出)一串數據,駐留並通過 輸入輸出緩沖區,進出程序。如同水流般地流入或流出。它來自文件或寫入文件。
(3)設文件指針fp已定義擴展閱讀:
FILE *fp的替換用法:
fp=fopen("test.dat", "w"); /*建立一個文字文件只寫*/
fclose(fp); /*關閉文件*/
fwrite(const void*buffer,size_t size,size_t count,FILE*stream);
1、buffer:是一個指針,對fwrite來說,是要輸出數據的地址。
2、size:要寫入的位元組數;
3、count:要進行寫入size位元組的數據項的個數;
4、stream:目標文件指針。
4. 118、若fp為文件指針,且文件已正確打開,以下語句的輸出結果為 B 什麼意思啊
fseek ( fp, 0, SEEK_END );找出文件結尾(SEEK_END),並用fp指向它
i = ftell ( fp );計算fp指向的位元組單元在文件中相對文件頭的偏移量,返回給i,結尾相對於開頭的偏移量,當然就是文件的長度,默認以位元組為單位
5. C++中 FILE*fp 是什麼意思
FILE是在C標准庫中(stdio.h)中定義的一個結構體,通常用指針的方式保存在內存中,其內容描述了一個文件,或者說」流「更恰當。
它的具體內容在不同的操作系統或標准庫的實現中各不相同,如在TC2.0中(定義參考自http://www.cnblogs.com/haore147/p/3648395.html,沒有考證過)
typedefstruct{
shortlevel;/*fill/emptylevelofbuffer*/
unsignedflags;/*Filestatusflags*/
charfd;/*Filedescriptor*/
unsignedcharhold;/*Ungetccharifnobuffer*/
shortbsize;/*Buffersize*/
unsignedchar*buffer;/*Datatransferbuffer*/
unsignedchar*curp;/*Currentactivepointer*/
unsignedistemp;/*Temporaryfileindicator*/
shorttoken;/*Usedforvaliditychecking*/
}FILE;/*ThisistheFILEobject*/
因此,標准庫中提供了通用的函數來讀取和寫入流,如fopen,fclose等等
FILE指針的使用在C中很廣泛,如一些常用的輸入/出流就是FILE*的類型,如
stdin、stdout、stderr等
當然,C++中用類進行了封裝,更加具體和方便。
綜上,FILE*fp就是聲明了一個類型為FILE的,名為fp的指針(fp指file pointer, 文件指針),用於保存流信息
其用法如
#include<stdio.h>
intmain()
{
FILE*fp;
charstr_buf[11];
fp=fopen("test_file.txt","r");//這里要確保test_file.txt的存在
if(fp)
fgets(str_buf,10,fp);
else
printf("Cannotfindfiletest_file.txt ");
return0;
}