日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

c语言fsetpos是什么,fsetpos - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

發布時間:2025/3/19 php 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言fsetpos是什么,fsetpos - [ C语言中文开发手册 ] - 在线原生手册 - php中文网 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在頭文件中定義int fsetpos(FILE * stream,const fpos_t * pos);

stream根據指向的值設置文件流的文件位置指示符和多字節解析狀態(如果有)pos。

除了建立新的解析狀態和位置之外,如果設置了該函數,則對該函數的調用將撤銷ungetc并清除文件結束狀態的影響。

如果發生讀取或寫入錯誤,ferror則設置流的錯誤指示符()。

參數

流-文件流進行修改崗位-指向fpos_t對象的指針,用作文件位置指示符的新值

返回值

0 一旦成功,否則非零值。

注意

在寬流中尋找非終點位置之后,對任何輸出函數的下一次調用可能會使文件的其余部分不確定,例如通過輸出不同長度的多字節序列。

帶有錯誤檢查的fsetpos。

#include?#include?

int?main(void){????/*?Prepare?an?array?of?f-p?values.?*/

#define?SIZE?5

double?A[SIZE]?=?{1.,2.,3.,4.,5.};????/*?Write?array?to?a?file.?*/

FILE?*?fp?=?fopen("test.bin",?"wb");????fwrite(A,sizeof(double),SIZE,fp);????fclose?(fp);

/*?Read?the?f-p?values?into?array?B.?*/

double?B[SIZE];

fp?=?fopen("test.bin","rb");

fpos_t?pos;????if?(fgetpos(fp,&pos)?!=?0)??????/*?current?position:?start?of?file?*/????{???????perror("fgetpos()");???????fprintf(stderr,"fgetpos()?failed?in?file?%s?at?line?#?%d\n",?__FILE__,__LINE__-3);???????exit(EXIT_FAILURE);????}

int?ret_code?=?fread(B,sizeof(double),1,fp);???/*?read?one?f-p?value?*/????/*?current?position:?after?reading?one?f-p?value?*/????printf("%.1f\n",?B[0]);???/*?print?one?f-p?value?*/

if?(fsetpos(fp,&pos)?!=?0)???/*?reset?current?position?to?start?of?file?*/????{???????if?(ferror(fp))???????{??????????perror("fsetpos()");??????????fprintf(stderr,"fsetpos()?failed?in?file?%s?at?line?#?%d\n",?__FILE__,__LINE__-5);??????????exit(EXIT_FAILURE);???????}????}

ret_code?=?fread(B,sizeof(double),1,fp);???/*?reread?first?f-p?value?*/????printf("%.1f\n",?B[0]);????????????????????/*?print?one?f-p?value????*/????fclose(fp);

return?EXIT_SUCCESS;?}

輸出:

1.01.0

參考

C11標準(ISO / IEC 9899:2011):7.21.9.3 fsetpos函數(p:337)

C99標準(ISO / IEC 9899:1999):7.19.9.3 fsetpos函數(p:303)

C89 / C90標準(ISO / IEC 9899:1990):4.9.9.3 fsetpos函數

總結

以上是生活随笔為你收集整理的c语言fsetpos是什么,fsetpos - [ C语言中文开发手册 ] - 在线原生手册 - php中文网的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。