找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2981|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

文件操作之fgetc()應(yīng)用--將硬盤數(shù)據(jù)讀入內(nèi)存-C語言教程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:99624 發(fā)表于 2015-12-20 02:54 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
//////----本例程是將硬盤數(shù)據(jù)讀入內(nèi)存,再將讀出的數(shù)據(jù)在屏幕顯示出來--------/////////////////////////////
#include"stdio.h"

#include"stdlib.h"
void main()

{
  char val;
  FILE *fp;//FILE(大寫。┦窍到y(tǒng)定義的結(jié)構(gòu)體全局變量,里面包含文件指針位置,文件類型,文件大小等等信息
// fp=fopen("d:\\Program Files (x86)\\test.txt","rt");
   fp=fopen("./test.txt","rt");//這是默認(rèn)當(dāng)前路徑下打開“"./test.txt"”
  //當(dāng)成功打開指定的文件對(duì)象后,文件內(nèi)部位置指針就指向文件開始處(文件位置指針“0”處)
  if(fp==NULL)//如果打開文件不成功,則輸出(void *)0即NULL,
  {
     printf("文件打開失敗!\n");
     exit(1);//離開本程序
// return ;//return(沒有返回值!只是return)和return 0的區(qū)別是什么?
  }
  else
  {
     printf("文件打開成功!\n");

      val=fgetc(fp);//從指定的文件fp一次讀取一個(gè)字符,若讀取成功返回值就是讀取到的字符,字符=fgetc(文件指針);
      printf("文件內(nèi)容是:\n");
      //   '\0 '是字符串結(jié)束標(biāo)志,“EOF”是文件結(jié)束標(biāo)志。
while(EOF != val) //若文件讀取到最后一個(gè)字符,則返回“EOF”(注意是大寫);
{
           putchar(val);//該函數(shù)是將讀取到的字符打印在顯示屏
val=fgetc(fp);


}
     printf("\n\n");//換行
     if(NULL==fclose(fp))//文件若關(guān)閉成功則fclose()函數(shù)返回0
     printf("文件關(guān)閉成功!\n");
  }

}



/*
1,文件內(nèi)部有個(gè)位置指針,指向文件當(dāng)前的讀寫字節(jié),在文件被成功打開時(shí),該指針總是指向文件的第一個(gè)字節(jié);
通過這個(gè)位置指針,就能找到存儲(chǔ)介質(zhì)上的當(dāng)前數(shù)據(jù);
2,文件指針和文件內(nèi)部位置指針不一樣!文件指針是系統(tǒng)定義的結(jié)構(gòu)體全局變量,指向整個(gè)文件;文件指針在程序中定義
只要不對(duì)其重新賦值,文件指針的值就不變!而文件內(nèi)部的指針是隨著讀寫進(jìn)程變化的,默認(rèn)情況下文件內(nèi)部指針是從文件的第一個(gè)字節(jié)處逐個(gè)向下平移。
3,對(duì)于文件的讀寫操作,是以內(nèi)存為參照物的,即以內(nèi)存為中心操作。
4,文件操作結(jié)束后必須關(guān)閉文件,將文件指針?biāo)赶虻目臻g釋放。
*/
程序效果圖:



     有關(guān)文件的操作是C語言中最后的一章。嵌入式系統(tǒng)開發(fā)當(dāng)中會(huì)經(jīng)常面臨大量文件的操作,所以學(xué)好C語言文件部分內(nèi)容非常重要!雖然嵌入式系統(tǒng)的文件系統(tǒng)中有關(guān)函數(shù)可能有所差異,但是只要學(xué)會(huì)C語言文件主要函數(shù)就能很快上手ff0.9文件系統(tǒng)。


-


-----GKXW----2015年11月19日15:47:35






分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表