中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

睢寧網(wǎng)站建設(shè)xzqjwl深圳推廣公司有哪些

睢寧網(wǎng)站建設(shè)xzqjwl,深圳推廣公司有哪些,全球招商網(wǎng),合肥哪個(gè)公司是網(wǎng)絡(luò)推廣前言對(duì)于一個(gè)代碼,運(yùn)行時(shí)可能需要保留產(chǎn)生的結(jié)果,例如計(jì)算值,篩選值,記錄點(diǎn)或者小游戲的得分,而正常情況下我們要保存一個(gè)數(shù)據(jù),想到的肯定是打開(kāi)我們的文本軟件,手?jǐn)]文字,今天這篇文…

前言

對(duì)于一個(gè)代碼,運(yùn)行時(shí)可能需要保留產(chǎn)生的結(jié)果,例如計(jì)算值,篩選值,記錄點(diǎn)或者小游戲的得分,而正常情況下我們要保存一個(gè)數(shù)據(jù),想到的肯定是打開(kāi)我們的文本軟件,手?jǐn)]文字,今天這篇文章,帶你一起,教代碼寫(xiě)下它的“記憶”

了解文件本質(zhì)

對(duì)于文本文件和二進(jìn)制文件,其實(shí)都是代表了一系列的字節(jié),C語(yǔ)言提供了底層調(diào)用來(lái)處理存儲(chǔ)設(shè)備上的文件,而從一個(gè)C語(yǔ)言程序中移出字節(jié),這種字節(jié)流就叫做數(shù)據(jù)流

數(shù)據(jù)流(data stream)是一組有序,有起點(diǎn)和終點(diǎn)的字節(jié)的數(shù)據(jù)序列。包括輸入流和輸出流。

文件讀寫(xiě)

在需要?jiǎng)?chuàng)建或者要打開(kāi)一個(gè)文件時(shí),我們就可以使用fopen()函數(shù),而關(guān)閉文件則需使用fclose()函數(shù)

創(chuàng)建或者打開(kāi)時(shí)會(huì)初始化類(lèi)型FILE的一個(gè)對(duì)象,格式:

FILE *fopen( const char *filename, const char *mode );

其中filename是文件的命名,而mode是打開(kāi)的模式,制作了一個(gè)表格方便查閱

mode(模式)

功能

r

以只讀的形式打開(kāi)一個(gè)已有的文本文件,允許讀取文件(不存在則出錯(cuò))

w

以寫(xiě)入的形式打開(kāi)文本文件,不存在,則創(chuàng)建新文件,反之,則從文件起始位置寫(xiě),覆蓋原內(nèi)容

a

以追加模式打開(kāi)文本文件,不存在,則創(chuàng)建,會(huì)在已有文件的內(nèi)容后邊追加內(nèi)容,不會(huì)覆蓋原有內(nèi)容

r+

以讀寫(xiě)的形式打開(kāi)文本文件,從頭開(kāi)始讀,新數(shù)據(jù)寫(xiě)入只覆蓋所占的空間

w+

創(chuàng)建一個(gè)新文件,進(jìn)行寫(xiě)入,從頭開(kāi)始讀,文件存在的話(huà)原內(nèi)容全部消失,不存在則創(chuàng)建新文件

a+

可以和a一樣追加內(nèi)容,同時(shí)從頭開(kāi)始讀

wb

只寫(xiě)模式打開(kāi)二進(jìn)制文件

rb

只讀模式打開(kāi)二進(jìn)制文件

ab

追加模式打開(kāi)二進(jìn)制文件

rb+

讀寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件,只允許讀寫(xiě)數(shù)據(jù)。

rt+

讀寫(xiě)打開(kāi)一個(gè)文本文件,允許讀和寫(xiě)。

wb+

讀寫(xiě)打開(kāi)或建立一個(gè)二進(jìn)制文件,允許讀和寫(xiě)。

wt+

讀寫(xiě)打開(kāi)或著建立一個(gè)文本文件;允許讀寫(xiě)。

at+

讀寫(xiě)打開(kāi)一個(gè)文本文件,允許讀或在文本末追加數(shù)據(jù)。

ab+

讀寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件,允許讀或在文件末追加數(shù)據(jù)。

處理二進(jìn)制文件還可用 r+b,w+b,a+b等

以上面的格式為例,打開(kāi)或者創(chuàng)建一個(gè)文本文件,然后再關(guān)閉

int main()
{FILE* zh;f = fopen("word.txt", "w");? ? //格式例子if (zh != NULL){fputs("fopen example", zh);fclose(zh);zh=NULL;}return 0;
}

如果成功關(guān)閉文件,fclose( ) 函數(shù)返回零,如果關(guān)閉文件時(shí)發(fā)生錯(cuò)誤,函數(shù)返回 EOF。這個(gè)函數(shù)實(shí)際上,會(huì)清空緩沖區(qū)中的數(shù)據(jù),關(guān)閉文件,并釋放用于該文件的所有內(nèi)存。

EOF 是一個(gè)定義在頭文件 stdio.h 中的常量。
C 標(biāo)準(zhǔn)庫(kù)提供了各種函數(shù)來(lái)按字符或者以固定長(zhǎng)度字符串的形式讀寫(xiě)文件。

學(xué)會(huì)了文件的打開(kāi)模式后,我們就開(kāi)始書(shū)寫(xiě)代碼的“記憶”

文件的讀寫(xiě)函數(shù)

  • fgetc():讀取一個(gè)字符

  • fputc():寫(xiě)入一個(gè)字符

  • fgets():讀取一個(gè)字符串

  • fputs():寫(xiě)入一個(gè)字符串

  • fprintf():寫(xiě)入格式化數(shù)據(jù)

  • fscanf():格式化讀取數(shù)據(jù)

  • fread():讀取數(shù)據(jù)

  • fwrite():寫(xiě)入數(shù)據(jù)

我們可以先小試牛刀

試著寫(xiě)入字符進(jìn)一個(gè)txt文件里

第一步:先在一個(gè)地方創(chuàng)建文件夾(方便存儲(chǔ)產(chǎn)生的文件,這里以C盤(pán)為例,我創(chuàng)建了一個(gè)名為tmp的文件夾)

第二步:敲入我們的代碼

#include <stdio.h>
int main(){FILE *fp = NULL;    //FILE *fp 是聲明,聲明fp是指針,用來(lái)指向FILE類(lèi)型的對(duì)象。fp = fopen("C:/tmp/1.txt","w+");  /*fopen,以w+允許讀寫(xiě)的模式打開(kāi)路徑上的1.txt文件此時(shí)沒(méi)有1.txt文件,則自動(dòng)新建*/char c = 'c';fputc(c,fp);fprintf(fp,"\n");fprintf(fp,"This is testing for fprintf...\n");fputs("This is testing for fputs...\n",fp);fclose(fp);
}

看我們的第五行代碼,因?yàn)閠mp文件夾是新建的,所以里面沒(méi)有文件,此時(shí)我們運(yùn)行代碼后,文件夾里就自動(dòng)生成了1.txt文件

然后使用了fputc()輸入單個(gè)字符,fprintf()和fputs()寫(xiě)入了兩行字符串

當(dāng)字符多于一個(gè)時(shí),fputc()就會(huì)報(bào)錯(cuò)

我們先看剛剛運(yùn)行代碼后的結(jié)果

此時(shí)txt文件中就出現(xiàn)了我們想要的字符

如何實(shí)現(xiàn)回應(yīng)鍵盤(pán)效果,將鍵盤(pán)上輸入的字符都寫(xiě)入文件中,實(shí)現(xiàn)打字效果呢?

這里我們就可以寫(xiě)一個(gè)while循環(huán)體,運(yùn)用getchar()每次都從鍵盤(pán)讀取一個(gè)字符存進(jìn)遍歷中,然后寫(xiě)入文件

運(yùn)用鍵盤(pán)往文件里寫(xiě)入字符(實(shí)現(xiàn)打字效果)

#include<stdio.h>
int main(){FILE *fp;char ch;fp=fopen("C:/tmp/2.txt","wt+");printf("輸入一段字符串,回車(chē)代表終止\n");while((ch=getchar())!='\n'){fputc(ch,fp);   //可以輸入中文喔}fclose(fp);return 0;
}

此時(shí)我們嘗試一下運(yùn)行,輸入:

結(jié)果:

就是這么的神奇

接下來(lái)我們還可以進(jìn)行一些有趣的功能

讀取”記憶“

實(shí)現(xiàn)統(tǒng)計(jì)文章某個(gè)字出現(xiàn)頻率

  1. 對(duì)于一個(gè)不需要寫(xiě)入的文本,我們就以r只讀的方式來(lái)打開(kāi)它

  1. 如果打不開(kāi),給出錯(cuò)誤提示

  1. 運(yùn)用fgetc()讀取字符,通過(guò)while循環(huán)重復(fù)操作,直到無(wú)法讀取到字符為止(即讀完文章最后一個(gè)字符)

#include <stdio.h>
int main ()
{FILE * fp;int ch;int n = 0;fp = fopen ("C:/tmp/myfile.txt", "r");if (fp == NULL) perror ("無(wú)法打開(kāi)此文件"); // 打開(kāi)失敗else{while (ch != EOF){ch = fgetc (fp); // 獲取一個(gè)字符if (ch == 'a') n++; // 統(tǒng)計(jì)美元符號(hào) 'a' 在文件中出現(xiàn)的次數(shù)}fclose (fp); // 一定記得要關(guān)閉文件printf ("a的個(gè)數(shù)為%d個(gè)。\n",n);}return 0;
}

我們預(yù)存一個(gè)文件,內(nèi)容有這些

接下來(lái)我們執(zhí)行上面的代碼,十分簡(jiǎn)單地就把這段亂碼中的”a“成員給揪出來(lái)了

http://www.risenshineclean.com/news/2850.html

相關(guān)文章:

  • 網(wǎng)站開(kāi)發(fā)開(kāi)題報(bào)告怎樣推廣一個(gè)產(chǎn)品
  • 費(fèi)縣做網(wǎng)站收錄提交入口網(wǎng)址
  • wordpress 做公司網(wǎng)站網(wǎng)絡(luò)營(yíng)銷(xiāo)的推廣
  • 網(wǎng)站下雪的效果怎么做的一鍵制作網(wǎng)站
  • 個(gè)人網(wǎng)站模板之家吳中seo網(wǎng)站優(yōu)化軟件
  • 網(wǎng)站做采集會(huì)有問(wèn)題么寧波最好的推廣平臺(tái)
  • 哪家專(zhuān)門(mén)做特賣(mài)網(wǎng)站百度搜索網(wǎng)頁(yè)
  • wordpress 簡(jiǎn)約windows優(yōu)化大師最新版本
  • 常熟網(wǎng)站建設(shè)icp備案長(zhǎng)沙網(wǎng)址seo
  • 最專(zhuān)業(yè)的佛山網(wǎng)站建設(shè)牛排seo系統(tǒng)
  • 做的網(wǎng)站晚上偷偷看b站軟件推薦
  • 網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣加盟蘇州seo公司
  • 網(wǎng)站做線(xiàn)旅游景區(qū)網(wǎng)絡(luò)營(yíng)銷(xiāo)案例
  • 新疆建設(shè)職業(yè)培訓(xùn)中心網(wǎng)站線(xiàn)上營(yíng)銷(xiāo)推廣方案有哪些
  • 赤峰浩誠(chéng)網(wǎng)站建設(shè)有限公司百度店鋪
  • 長(zhǎng)白山網(wǎng)站學(xué)做管理下載百度2023最新版
  • 網(wǎng)站成本廣告公司網(wǎng)站制作
  • wap手機(jī)百度seo排名工具
  • 網(wǎng)站聊天系統(tǒng)怎么做友情網(wǎng)站
  • 住房和城鄉(xiāng)建設(shè)部電工證廊坊優(yōu)化技巧
  • 網(wǎng)頁(yè)使用怎么做太原seo推廣
  • 袁隆平網(wǎng)站設(shè)計(jì)模板貴州seo和網(wǎng)絡(luò)推廣
  • wordpress主題轉(zhuǎn)zblog網(wǎng)站網(wǎng)頁(yè)的優(yōu)化方法
  • 做高仿批發(fā)的網(wǎng)站有哪些百度熱門(mén)排行榜
  • 如何用nat123做網(wǎng)站做網(wǎng)站用哪個(gè)軟件
  • 南通營(yíng)銷(xiāo)型網(wǎng)站建設(shè)自媒體平臺(tái)注冊(cè)官網(wǎng)
  • 網(wǎng)站后臺(tái)上傳圖片 不可用提高網(wǎng)站排名
  • 個(gè)人網(wǎng)站怎么申請(qǐng)注冊(cè)同城推廣
  • 學(xué)做網(wǎng)站學(xué)什么語(yǔ)言最成功的網(wǎng)絡(luò)營(yíng)銷(xiāo)案例
  • 家里電腦如何做網(wǎng)站競(jìng)價(jià)推廣賬戶(hù)競(jìng)價(jià)托管費(fèi)用