📄 10.html
字号:
</td>
<td> <font face='宋体' size='2'> fopen,fwrite,fseek,fscanf<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td> <font face='宋体' size='2'> #include<stdio.h><br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td> <font face='宋体' size='2'> size_t fread(void * ptr,size_t size,size_t
nmemb,FILE * stream);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td> <font face='宋体' size='2'> fread()用来从文件流中读取数据。参数stream为已打开的文件指针,参数ptr
指向欲存放读取进来的数据空间,读取的字符数以参数size*nmemb来决定。Fread()会返回实际读取到的nmemb数目,如果此值比参数nmemb
来得小,则代表可能读到了文件尾或有错误发生,这时必须用feof()或ferror()来决定发生什么情况。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td> <font face='宋体' size='2'> 返回实际读取到的nmemb数目。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 附加说明 </font> </div>
</td>
<td> <font face='宋体' size='2'> <br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td> <font face='宋体' size='2'> #include<stdio.h><br>
#define nmemb 3<br>
struct test<br>
{<br>
char name[20];<br>
int size;<br>
}s[nmemb];<br>
main()<br>
{<br>
FILE * stream;<br>
int i;<br>
stream = fopen(“/tmp/fwrite”,”r”);<br>
fread(s,sizeof(struct test),nmemb,stream);<br>
fclose(stream);<br>
for(i=0;i<nmemb;i++)<br>
printf(“name[%d]=%-20s:size[%d]=%d\n”,i,s[i].name,i,s[i].size);<br>
}<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 执行 </font> </div>
</td>
<td> <font face='宋体' size='2'> name[0]=Linux! size[0]=6<br>
name[1]=FreeBSD! size[1]=8<br>
name[2]=Windows2000 size[2]=11<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc159></a></font> </div>
</td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td> <font face='宋体' size='2'> <br>
freopen(打开文件) </font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td> <font face='宋体' size='2'> fopen,fclose<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td> <font face='宋体' size='2'> #include<stdio.h><br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td> <font face='宋体' size='2'> FILE * freopen(const char * path,const char
* mode,FILE * stream);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td> <font face='宋体' size='2'> 参数path字符串包含欲打开的文件路径及文件名,参数mode请参考fopen()说明。参数stream为已打开的文件指针。Freopen()会将原stream所打开的文件流关闭,然后打开参数path的文件。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td> <font face='宋体' size='2'> 文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno
中。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td> <font face='宋体' size='2'> #include<stdio.h><br>
main()<br>
{<br>
FILE * fp;<br>
fp=fopen(“/etc/passwd”,”r”);<br>
fp=freopen(“/etc/group”,”r”,fp);<br>
fclose(fp);<br>
}<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc160></a></font> </div>
</td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td> <font face='宋体' size='2'> <br>
fseek(移动文件流的读写位置) </font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td> <font face='宋体' size='2'> rewind,ftell,fgetpos,fsetpos,lseek<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td> <font face='宋体' size='2'> #include<stdio.h><br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td> <font face='宋体' size='2'> int fseek(FILE * stream,long offset,int whence);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td> <font face='宋体' size='2'> fseek()用来移动文件流的读写位置。参数stream为已打开的文件指针,参数offset为根据参数whence来移动读写位置的位移数。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 参数 </font> </div>
</td>
<td> <font face='宋体' size='2'> whence为下列其中一种:<br>
SEEK_SET从距文件开头offset位移量为新的读写位置。SEEK_CUR 以目前的读写位置往后增加offset个位移量。<br>
SEEK_END将读写位置指向文件尾后再增加offset个位移量。<br>
当whence值为SEEK_CUR 或SEEK_END时,参数offset允许负值的出现。<br>
下列是较特别的使用方式:<br>
1) 欲将读写位置移动到文件开头时:fseek(FILE *stream,0,SEEK_SET);<br>
2) 欲将读写位置移动到文件尾时:fseek(FILE *stream,0,0SEEK_END);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td> <font face='宋体' size='2'> 当调用成功时则返回0,若有错误则返回-1,errno会存放错误代码。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 附加说明 </font> </div>
</td>
<td> <font face='宋体' size='2'> fseek()不像lseek()会返回读写位置,因此必须使用ftell()来取得目前读写的位置。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td> <font face='宋体' size='2'> #include<stdio.h><br>
main()<br>
{<br>
FILE * stream;<br>
long offset;<br>
fpos_t pos;<br>
stream=fopen(“/etc/passwd”,”r”);<br>
fseek(stream,5,SEEK_SET);<br>
printf(“offset=%d\n”,ftell(stream));<br>
rewind(stream);<br>
fgetpos(stream,&pos);<br>
printf(“offset=%d\n”,pos);<br>
pos=10;<br>
fsetpos(stream,&pos);<br>
printf(“offset = %d\n”,ftell(stream));<br>
fclose(stream);<br>
}<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 执行 </font> </div>
</td>
<td> <font face='宋体' size='2'> offset = 5<br>
offset =0<br>
offset=10<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc161></a></font> </div>
</td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td> <font face='宋体' size='2'> <br>
ftell(取得文件流的读取位置) </font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td> <font face='宋体' size='2'> fseek,rewind,fgetpos,fsetpos<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td> <font face='宋体' size='2'> #include<stdio.h><br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td> <font face='宋体' size='2'> long ftell(FILE * stream);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td> <font face='宋体' size='2'> ftell()用来取得文件流目前的读写位置。参数stream为已打开的文件指针。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td> <font face='宋体' size='2'> 当调用成功时则返回目前的读写位置,若有错误则返回-1,errno会存放错误代码。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 错误代码 </font> </div>
</td>
<td> <font face='宋体' size='2'> EBADF 参数stream无效或可移动读写位置的文件流。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td> <font face='宋体' size='2'> 参考fseek()。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><br>
<font face='宋体' size='2'><a name=linuxc162></a></font> </div>
</td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> <br>
</font> </div>
</td>
<td> <font face='宋体' size='2'> <br>
fwrite(将数据写至文件流) </font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
</td>
<td> <font face='宋体' size='2'> fopen,fread,fseek,fscanf<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
</td>
<td> <font face='宋体' size='2'> #include<stdio.h><br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
</td>
<td> <font face='宋体' size='2'> size_t fwrite(const void * ptr,size_t size,size_t
nmemb,FILE * stream);<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
</td>
<td> <font face='宋体' size='2'> fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr
指向欲写入的数据地址,总共写入的字符数以参数size*nmemb来决定。Fwrite()会返回实际写入的nmemb数目。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
</td>
<td> <font face='宋体' size='2'> 返回实际写入的nmemb数目。<br>
</font> </td>
</tr>
<tr>
<td width="80" valign="top">
<div align="right"><font face='宋体' size='2'> 范例 </font> </div>
</td>
<td> <font face='宋体' size='2'> #include<stdio.h><br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -