找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3943|回復: 0
打印 上一主題 下一主題
收起左側

文件操作之fputc(char,FILE *)--將內(nèi)存數(shù)據(jù)寫入硬盤-C語言教程

[復制鏈接]
跳轉到指定樓層
樓主
ID:99624 發(fā)表于 2015-12-20 03:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/////------本例程是將鍵盤鍵入數(shù)據(jù)寫到硬盤中,以‘\n’回車鍵結束-----//////////
#include"stdio.h"
#include"stdlib.h"

void main()
{
   char ch;
   FILE *fp;
   fp=fopen("test.txt","wt+");
   if(fp==NULL)
   {
     printf("文件打開失。");
getchar();//從鍵盤讀取字符一次一個,或者錄入鍵盤輸入的字符。鍵盤鍵入任意字符則退出程序,否則程序停留在此處
exit(1);
   
   }
   else
   {
     printf("文件打開成功!\n");
     printf("請向硬盤輸入字符:\n");
     ch=getchar();
    while(ch!='\n')//以鍵盤輸入的'\n'(回車鍵)字符作為鍵盤輸入結束命令
    {
    fputc(ch,fp);//注意該函數(shù)有兩個形參!將鍵盤輸入的字符寫入硬盤fp文件,以文本文件方式;直到'\n'字符為止
           ch=getchar();
   }
   
    rewind(fp);//由于上面對文件的寫入操作,文件內(nèi)部指針已經(jīng)位移到當前讀寫位置,
//為了從頭讀出文件,通過rewind(fp)函數(shù)將文件內(nèi)部指針位移到文件起始處
printf("從硬盤讀出文本文件:\n");
ch=fgetc(fp);//該句不能忽略,否則程序直接進入循環(huán)
   
while(ch!=EOF)//“EOF”是文件結束標志,是系統(tǒng)宏定義“#define EOF (-1)”屬于int類型;注意:無需加入單引號或雙引號。此處也可以while((int)ch!=EOF)
{
  //printf("從硬盤讀出文本文件字符:%c",ch);
          putchar(ch);//將讀取的字符顯示在屏幕
  ch=fgetc(fp);
}

    printf("\n");//以回車鍵換行
   
   }
   if(NULL==fclose(fp))
   {
   
    printf("文件成功關閉!\n");
   }

}

/*      
1,EOF問題:
a,
“EOF”是文件結束標志,是系統(tǒng)宏定義“#define EOF (-1)”屬于int類型;注意:無需加入單引號或雙引號。注意,這種以EOF作為結束標志的文件必須是文本文件。在文本文件中數(shù)據(jù)都是以字符的ASCII碼代碼值存放,ASCII碼值范圍是0-255,不可能出現(xiàn)“-1”。
b,當fputc()寫入字符出錯時,該函數(shù)返回EOF



---------------GKXW-----2015年11月20日16:31:31-------
*/




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關帖子

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

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

快速回復 返回頂部 返回列表