)如果修改的內(nèi)容,和原文件被修改的數(shù)據(jù),字節(jié)數(shù)完全相同,直接找到要修改的地方,寫入新內(nèi)容就可以了。2)如果修改后的內(nèi)容,和原文件被修改的數(shù)據(jù),字節(jié)數(shù)不同,建議新建一個(gè)文件,否則很麻煩,要用讀寫方式打開。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了石家莊免費(fèi)建站歡迎大家使用!
第一步,依次單擊visual C ++ 0的“文件”--“新建”--“文件”--“C++ Source File”選項(xiàng),見下圖,轉(zhuǎn)到下面的步驟。第二步,執(zhí)行完上面的操作之后,定義變量,代碼見下圖,轉(zhuǎn)到下面的步驟。
打開文件,遍歷文件內(nèi)容然后一個(gè)一個(gè)匹配查找并替換,最后再重新寫入文件當(dāng)中。
c語言標(biāo)準(zhǔn)庫中用于打開文件的函數(shù)是fopen()。函數(shù)原型:FILE * fopen(const char * path,const char * mode);參數(shù)說明:path指明要打開的文件名,mode指明以什么方式打開。詳細(xì)在下面介紹。
fseek()是重定位流(數(shù)據(jù)流/文件)上的文件內(nèi)部位置指針。注意:文件指針指向文件/流。位置指針指向文件內(nèi)部的字節(jié)位置,隨著文件的讀取會移動,文件指針如果不重新賦值將不會改變或指向別的文件。
而不能以a或者ab+方式。以a方式打開,fseek函數(shù)不起作用。
其表示方法如下表。起始點(diǎn) 表示符號 數(shù)字表示 文件首 SEEK_SET 0 當(dāng)前位置 SEEK_CUR 1 文件末尾 SEEK_END 2 例如:fseek(fp,100L,0);其意義是把位置指針移到離文件首100個(gè)字節(jié)處。
例如:fopen、fclose函數(shù)用于文件打開與關(guān)閉;fscanf、fgets函數(shù)用于文件讀取;fprintf、fputs函數(shù)用于文件寫入;ftell、fseek函數(shù)用于文件操作位置的獲取與設(shè)置。一般的C語言教程都有文件操作一章,可以找本教材進(jìn)一步學(xué)習(xí)。
在C語言中,打開文件是有的fopen函數(shù)。其原型如下:FILE * fopen(const char * path,const char * mode);r 以只讀方式打開文件,該文件必須存在。r+ 以可讀寫方式打開文件,該文件必須存在。
可以用fscanf讀取后 再判斷 比如 char name[100];int a,b,stack_size;FILE *fp;fp = fopen(task.txt, r);//假定存在這個(gè)文件中。
=0)exit(1);return 0;} C語言是目前世界上流行、使用最廣泛的面向過程的高級程序設(shè)計(jì)語言。
*stream: 文件結(jié)構(gòu)體指針,將要讀取的文件流。
所謂的某行你沒有給出確切的定義,通常讀文件采用的方法是將文件內(nèi)容的全部,或者部分保存在緩存中,如果你是想讀取第幾行,那么就可以使用字符指針,尋找緩存中的\n,并進(jìn)行計(jì)數(shù),找到想要的行。
如果僅僅是想讀取文件末尾一行數(shù)據(jù),只需把起始點(diǎn)定位到文件末尾,位移量為負(fù)數(shù)代表向后挪的意思。如:fseek(fp,-100L,SEEK_END); // 文件游標(biāo)定位到文件末尾處,然后向后退100個(gè)字節(jié)。
使用fseek(fp,-100L,SEEK_END);定位到文件尾部,然后再向前移動最后一行的內(nèi)容大小個(gè)字節(jié),再讀取就可以了。
fseek(pf,-sizeof(T),SEEK_END); //將文件指針移動到距文件末尾sizeof(T)的位置處,這樣讀取的時(shí)候就可以直接從T也就是你定義的所謂最后一個(gè)數(shù)據(jù)開始讀取。
首先定義文件指針 fp=fopen(文件名稱,r);然后用fseek()設(shè)置文件指針的位置;最后用fgets()得到行信息;int fseek(FILE *stream, long offset, int fromwhere);函數(shù)設(shè)置文件指針stream的位置。
1、可以使用fseek函數(shù),直接偏移指針的指向位置到第二行。函數(shù)原型 int fseek(FILE *stream, long offset, int fromwhere);函數(shù)設(shè)置文件指針stream的位置。
2、由于文件需要打開才能操作,檢查一下路徑和函數(shù)使用問題。如果是當(dāng)前目錄,那直接fp=fopen(我的bin,rb)或者 fp=fopen(我的bin,r),再fseek(fp,10,0)。
3、函數(shù)名: fseek 功 能: 重定位流上的文件指針 用 法: int fseek(FILE *stream, long offset, int fromwhere);描 述: 函數(shù)設(shè)置文件指針stream的位置。
4、if(c == EOF) return EOF;//到文件尾,不存在下一行 if(c == \n) break;//讀到需要的換行符。 } return 0;}在讀取中,F(xiàn)ILE*指針會自動完成移位,所以不需要顯式的返回指針。
種方法,一種是for(i=0;in;i++)fgets(str);先將前一行存到一個(gè)不用的變量,然后再開始存后面的變量。
用這個(gè)函數(shù)讀第一行,將讀取到的值存在一個(gè)沒用的數(shù)組里扔掉就行了,文件指針stream自然就指到了第二行,正常讀就行了。
include stdio.h int main() { FILE *pfile=fopen(E:/a.txt,rt);//文本模式打開 char strs[10]; if(pfile) { fseek(pfile,4,SEEK_SET);//跳過兩個(gè)字符號。
文件有三行有兩種情況。一種是顯示是在屏幕上顯示三行,其實(shí)還是在一行,另一種是以換行符分割行。
根據(jù)讀取要求和數(shù)據(jù)文件性質(zhì)(主要是文件頭部分和數(shù)據(jù)部分的差異)來手動編程跳過。可以簡單的用一個(gè)循環(huán)判斷就可以。
分享文章:c語言fseek函數(shù)用法 c語言fscanf函數(shù)用法
網(wǎng)站路徑:http://chinadenli.net/article49/dehhceh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、做網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、電子商務(wù)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)