国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
C語(yǔ)言查缺補(bǔ)漏——文件操作

文件操作

https://www.toutiao.com/a6611494147658351118/



我們要想對(duì)文件進(jìn)行讀取或?qū)懭?,需要有一個(gè)能夠訪問(wèn)到該文件的文件指針(FILE類型),這樣我們就能通過(guò)文件指針對(duì)文件進(jìn)行操作啦!

FILE *fp;				//聲明文件指針
fp = fopen(文件路徑, 訪問(wèn)模式);
//指向文件,第一個(gè)參數(shù)為字符串12

關(guān)于訪問(wèn)模式:——只讀:“r”

——只寫(xiě)(覆蓋): “w”

—— 文件末尾追加: “a”

——可讀可寫(xiě): “r+”或“w+”

——二進(jìn)制文件:“b”

——文本文件:“t”

//訪問(wèn)模式可以疊加,例如"rb"代表讀取二進(jìn)制文件

之后我們就可以對(duì)文件進(jìn)行操作啦(如fgetc()函數(shù)(讀?。┖蚮putc()函數(shù)(寫(xiě)入))


——關(guān)于讀取:文件指針指向文件后,通過(guò)fgetc(fp);獲得當(dāng)前指針之后位置的一個(gè)字符,每獲得一個(gè)字符指針就會(huì)自動(dòng)向后移動(dòng)一個(gè)字符(如果到達(dá)文件尾部則會(huì)返回EOF)

——關(guān)于寫(xiě)入:通過(guò)fputc(‘字符’, fp);方式將字符寫(xiě)入到與fp關(guān)聯(lián)的文件中

文件指針不再使用后需斷開(kāi)關(guān)聯(lián),格式為:

fclose(fp);	
//若不加此句,程序正常結(jié)束后系統(tǒng)會(huì)自動(dòng)為打開(kāi)的文件調(diào)用fclose1

舉個(gè)例子:

//省略代碼
FILE *p1 = fopen("路徑1", "r");
FILE *p2 = fopen("路徑2", "w");
char c;
while ((c = fgetc(p1)) != EOF) {
//把一個(gè)文件內(nèi)容復(fù)制到另一個(gè)文件
fputc(c, p2);
}
fclose(p1);
fclose(p2);123456789

undefined注意?。。。?/p>

在給文件指針命名時(shí),不能使用 stdin、stdout 和 stderr 這三個(gè)名字,因?yàn)檫@三個(gè)名字是系統(tǒng)內(nèi)置用于標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤的文件指針名

我們可通過(guò) fgetc(stdin); 獲得來(lái)自標(biāo)準(zhǔn)輸入的字符

通過(guò) fputc(ch, stdout); 將 ch 字符輸出到標(biāo)準(zhǔn)輸出

通過(guò) fputc(ch, stderr); 將 ch 字符輸出到標(biāo)準(zhǔn)錯(cuò)誤

除fgetc和fputc外,我們還可以使用fscanf和fprintf函數(shù)

我們可以使用fscanf通過(guò)文件指針讀取:

也可以使用fprintf通過(guò)文件指針寫(xiě)出

fscanf(p1, "%c", &a);		
//通過(guò)文件指針p1獲取字符并存儲(chǔ)到a中
fprintf(p2, "%c", a);
//通過(guò)文件指針p2將字符a寫(xiě)入文件中12

這兩個(gè)函數(shù)是不是感覺(jué)有點(diǎn)眼熟?對(duì)!大家熟悉的scanf和printf 和它們長(zhǎng)得很像,那它們之間有關(guān)系嗎?

答案是有的。scanf可以看作是 fscanf的特例

printf可以看作是fprintf 的特例

至于為什么,看下面的代碼:

fscanf(stdin, "%c", &a);	//等價(jià)于下一行
scanf("%c", &a);
fprintf(stdout, "%c", a); //等價(jià)于下一行
printf("%c", a);12345

嗯嗯,上面也說(shuō)啦,stdin和stdout的實(shí)質(zhì)也是文件指針,分別代表從控制臺(tái)獲取,輸出到控制臺(tái)。

當(dāng)然啦,stdin和stdout也可以通過(guò)fclose關(guān)掉,大家可以試一下關(guān)掉后還能進(jìn)行scanf和printf嘛~ 趕緊跑路hahaha

寫(xiě)在最后

喜歡此篇文章或覺(jué)得這篇文章對(duì)你有幫助的讀者可以點(diǎn)播關(guān)注或者轉(zhuǎn)發(fā),私信小編001即可獲得小編自己整理的一份2018最新的C/C++資料和0基礎(chǔ)入門教程,歡迎初學(xué)和進(jìn)階中的小伙伴

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C語(yǔ)言——文件操作詳解
c語(yǔ)言中所有文件操作函數(shù)詳解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函數(shù)
C語(yǔ)言對(duì)文件的操作
《C語(yǔ)言程序設(shè)計(jì)教程(第4版)》第12章文件
C語(yǔ)言文件輸入輸出操作
C語(yǔ)言程序設(shè)計(jì)案例式教程-第11章 文件管理
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服