當前位置:首頁 » 編程語言 » c語言fread的用法
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言fread的用法

發布時間: 2022-02-13 09:30:52

c語言中如何使用fread

FILE * fp = open("D:A.txt", "r"); 先用文件指針獲得文件的地址;
char ch = 0; 定義一個字元變數來獲得從文件中讀取的一個字元;
fread(&ch, sizeof(char), 1, fp); 格式如左;

Ⅱ 請教C語言<stdio.h>頭文件下的fread()函數的用法,結合一個簡單的例子加上一些解釋。

函數原型
size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;
參 數
buffer
用於接收數據的內存地址
size
要讀寫的位元組數,單位是位元組
count
要進行讀寫多少個size位元組的數據項,每個元素是count位元組.
stream
輸入流

#include<stdio.h>
#include<string.h>
int main(void)
{
FILE*stream;
char msg[]="thisisatest";
char buf[20];
if((stream=fopen("DUMMY.FIL","w+"))==NULL)
{
fprintf(stderr,"Cannotopenoutputfile.\n");
return 0;
}
/*writesomedatatothefile*/
fwrite(msg,1,strlen(msg)+1,stream);
/*sizeof(char)=1seektothebeginningofthefile*/
fseek(stream,0,SEEK_SET);
/*readthedataanddisplayit*/
fread(buf,strlen(msg)+1,1,stream);
printf("%s\n",buf);
fclose(stream);
return0;
}

Ⅲ fread函數的用法

fread函數可從文件中讀取二進制數據

語法:

A = fread(fid, count)

A = fread(fid, count, precision)

其中fid為指針所指文件中的當前位置,count指讀取的數據個數, precision表示以什麼格式的數據類型讀取數據。

例子:

fid = fopen('alphabet.txt', 'r');
c = fread(fid, 5)'
c =
65 66 67 68 69
fclose(fid);

程序說明:alphabet文件中按順序存儲著26個英文字母,讀取文件之前要先打開文件,由於未指定讀取數據的類型,所以程序指定默認類型為無符號字元型即uchar,65、66、67、68、69代表A、B、C、D、E,文件用完還要記得關閉文件,以便釋放指針。

(3)c語言fread的用法擴展閱讀:

用 法

int feof(FILE *stream);

參數

流 :FILE結構的指針

注意:feof判斷文件結束是通過讀取函數fread/fscanf等返回錯誤來識別的,故而判斷文件是否結束應該是在讀取函數之後進行判斷。比如,在while循環讀取一個文件時,如果是在讀取函數之前進行判斷,則如果文件最後一行是空白行,可能會造成內存錯誤。

參考資料:

fread--網路

Ⅳ C語言 fread函數

如果你想把這8個位元組當成一個數來讀的話可以這樣(在VC環境下)
__int64 a;
fread(&a,sizeof(__int64),1,fp);
如果你想分別讀出這8個位元組的話,可以這樣:
char a[8];
fread(a,sizeof(char),8,fp);
希望對你有幫助
__int64也可以用來表示一個整數,只不過它能表示的范圍比int類型的要大,int類型佔4個位元組,而這個__int64佔8個位元組。如果你用的是gcc編譯器(像DEV-C等),那應該是long long

Ⅳ c語言fread函數

是"\0" 因為字元串本身結尾就是有一個"\0" 不是函數添加的 你用strlen函數列印一下長度就知道了

Ⅵ c語言 fread函數

fread()函數以及所有的文件讀寫函數都是這樣,不過這里的「下一個字元」不太准確,應該用「下一個位元組」。

Ⅶ C語言關於fread這個函數的問題

因為你的數組a沒有進行正確的初始化。
可以這樣定義
char a[32]={0};

========補充======
哦,你的數組定義的太小了,讀取的內容是32你的數組也是32,沒有位置放置字元串結束符號\0(值為0)。你把數組大小改為33就ok了

Ⅷ c語言中關於fread()函數的疑問

fread是按二進制讀取文件,得自己處理換行。
fgets是按文本文件讀取文件,換行符放在你申請的空間里,尾部保留換行符。
打開文件時記得選擇按文本還是二進制打開。

Ⅸ C語言的fread函數

建議你用C++文件流
ifstream fin ( "123.in") ;
ofstream fout ( "123.out") ;
int i , j ; char a[100] ;
fin >> i >> j >> a ;
fout << a << i << j ;
如果不知道就用格式化讀寫
fscanf ( "輸出表項",&輸入表項....);

Ⅹ 關於C語言fread的用法

printf("%s",header.bfType);
改成printf("%d",header.bfType);