您好,登錄后才能下訂單哦!
本篇內容主要講解“c語言文件操作相關函數舉例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“c語言文件操作相關函數舉例分析”吧!
關于fscanf函數的用法
_Check_return_ _CRT_INSECURE_DEPRECATE(fscanf_s) _CRTIMP int __cdecl fscanf(_Inout_ FILE * _File, _In_z_ _Scanf_format_string_ const char * _Format, ...); 這是函數聲明,該函數有三個參數,第一個是文件指針,第二個是格式如“%s %d...”這樣的,第三個是保存這些從文件讀取的數據的地址。具體這些可以去百度,接下來想講講我對這個的理解。 while (!feof(fp)) { fscanf(fp, "%s %d", myp.myname, &myp.socer); }
大家好奇為什么這樣可以讀取文件中的格式化字符。這是因為文件指針會自動向下移動,每當我們讀取一行,文件指針就會自動向下讀取一行。類似的有read函數。(具體專業術語可能有誤,希望大家指出)下面附上例子;
#include<stdio.h> #include<stdlib.h> #include<string.h> struct MyStruct { char myname[10]; int socer; }; int main() { MyStruct myp; FILE *fp = NULL; fp = fopen("d:/data.txt", "a+"); while (!feof(fp)) { fscanf(fp, "%s %d\n", myp.myname, &myp.socer); printf("%s %d\n", myp.myname, myp.socer); } printf("%s %d\n", myp.myname, myp.socer); fclose(fp); system("pause"); return 0; }
細心的同學可能發現我的例子里用的和前面寫的fscanf(),有點不一樣
fscanf(fp,"%s %d",myp.myname, &myp.socer); fscanf(fp,"%s %d\n",myp.myname, &myp.socer);
這兩個都可以工作。 說了這么多,只是想表達這個文件指針會自動的向下移動,可能你早已經知道。
首先你要在d盤創建data.txt 內容類似這樣 張三 100 李四 99 王二 60
到此,相信大家對“c語言文件操作相關函數舉例分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。