fread 读文件的问题!

时间:2021-01-24 20:04:58
FILE *in;
char infile[]="body.txt"; 
char buf[1024]={0};
if((in=fopen(infile,"r"))==NULL) 

return; 

fread(buf, 1, 1024,in);  //
printf("%s",buf);
bytesSent = send( client, buf, strlen(buf), 0 );
fclose(in); 

fread(buf, 1, 1024,in);  //这句是不是 望buf里读数据 每次1024 读1次.

如果文件大小是 1234  是不是用他读文件时 还要先获取到 文件的大小 然后 再用fread这个函数去读文件!

还是怎么搞``

fread这个函数该怎么用啊!

5 个解决方案

#1


fread(buf, 1, 1024,in);  ----> fread(buf, 1024, 1,in); 似乎更好, 读一次,每次1024个字节

不用获取文件大小,循环调用fread会自动读取全部内容 

#2


#3


fread(buf, 1, 1024,in)  buf表示用于接收数据的地址(字符型指针);1表示每读取单个元素的大小;1024表示读取元素的个数;in表示提供数据的文件指针,总起来说,就是从in中读1024个数据,放入buf中,每个数据大小为1个字节。

#4


如果文件是1234则,只取得前1024大小的数据。

#5


fread(buf, 1, 1024,in);  //这句是不是 望buf里读数据 每次1024 读1次. 

如果文件大小是 1234  是不是用他读文件时 还要先获取到 文件的大小 然后 再用fread这个函数去读文件! 

如果文件的字节数大于1*1024字节,那就只读取前1024字节呗。函数会返回1024的。

#1


fread(buf, 1, 1024,in);  ----> fread(buf, 1024, 1,in); 似乎更好, 读一次,每次1024个字节

不用获取文件大小,循环调用fread会自动读取全部内容 

#2


#3


fread(buf, 1, 1024,in)  buf表示用于接收数据的地址(字符型指针);1表示每读取单个元素的大小;1024表示读取元素的个数;in表示提供数据的文件指针,总起来说,就是从in中读1024个数据,放入buf中,每个数据大小为1个字节。

#4


如果文件是1234则,只取得前1024大小的数据。

#5


fread(buf, 1, 1024,in);  //这句是不是 望buf里读数据 每次1024 读1次. 

如果文件大小是 1234  是不是用他读文件时 还要先获取到 文件的大小 然后 再用fread这个函数去读文件! 

如果文件的字节数大于1*1024字节,那就只读取前1024字节呗。函数会返回1024的。