C语言 读取文件内容
讀取文件文本內(nèi)容:
要讀取的目標(biāo)文件:
要讀取的目標(biāo)內(nèi)容:
運(yùn)行前請(qǐng)將代碼文件和要讀取的文件放在同一目錄下。
運(yùn)行結(jié)果:
#define FILENAME_MAX 1024;
在該運(yùn)行環(huán)境中保證能夠打開(kāi)文件,保持這樣的文件名的最大長(zhǎng)度所需的數(shù)組元素個(gè)數(shù)。
fgetc函數(shù):
| #include <stdio.h> | int fgetc(FILE *stream); | 從stream指向的輸入流(若存在)中讀取unsigned char型的下一個(gè)字符的值,并將它轉(zhuǎn)換為int型,然后,若定義了流的文件位置指示符,則將其向前移動(dòng)。 | 返回stream所指輸入流中的下一個(gè)字符。若在流中檢查到文件末尾,則設(shè)置該流的文件結(jié)果指示符并返回EOF。如果發(fā)生讀取錯(cuò)誤,就設(shè)置該流的錯(cuò)誤只是符并返回EOF。 |
當(dāng)從文件正常讀取到字符時(shí),就會(huì)進(jìn)入 while 循環(huán)語(yǔ)句,通過(guò) putchar(ch) 語(yǔ)句將讀取到的字符 ch 顯示界面上。
當(dāng)達(dá)到文件末尾(后面沒(méi)有字符)或者有錯(cuò)誤發(fā)生時(shí),就會(huì)結(jié)束 while 語(yǔ)句循環(huán)并關(guān)閉文件,程序結(jié)束運(yùn)行。
讀取文件數(shù)據(jù)內(nèi)容:
要讀取的數(shù)據(jù)內(nèi)容:
運(yùn)行結(jié)果:
fscanf函數(shù):
| #include <stdio.h> | int fscanf(FILE *stream, const char *format, …); | 從stream指向的流(而不是從標(biāo)準(zhǔn)輸入流)中讀取數(shù)據(jù)。將讀取的數(shù)據(jù)格式轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果保存至format后面的實(shí)參所指向的對(duì)象。format指向的字符串為格式控制字符串,它指定了可輸入的字符串及其賦值時(shí)轉(zhuǎn)換方法。格式控制字符串中可以不包含任何命令,也可包含多個(gè)命令。 | 若沒(méi)有執(zhí)行任何轉(zhuǎn)換就發(fā)生了輸入錯(cuò)誤,則返回宏定義EOF的值。否則,返回成功賦值的輸入項(xiàng)數(shù)。若在輸入中發(fā)生匹配錯(cuò)誤,則返回的輸入項(xiàng)數(shù)會(huì)少于轉(zhuǎn)換說(shuō)明符對(duì)應(yīng)的實(shí)參個(gè)數(shù),甚至為0。 |
從流 fp 中讀取1個(gè)字符串和2個(gè)double型實(shí)數(shù),分別將它們保存至變量 name、height 和 weight中。
注:scanf 函數(shù) 和 fscanf函數(shù)會(huì)返回讀取到的項(xiàng)目數(shù)。
該程序中,當(dāng)正常讀取到姓名、身高、體重項(xiàng)目返回 3時(shí),就會(huì)繼續(xù)while 語(yǔ)句循環(huán)直至讀取不到信息(已讀取完所有信息,或因出錯(cuò)而不能進(jìn)行讀取)。
總結(jié)
以上是生活随笔為你收集整理的C语言 读取文件内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C 语言获取系统时间
- 下一篇: C语言 复制文件内容粘贴到另一个文件中