將ASCII碼值在0~127之間的字符寫到磁盤上

/*將ASCII碼值在0~127之間的字符寫到磁盤上,然後從文件中讀出這些字符時,
判斷讀出的字符是否爲可打印字符,若是則直接將該字符顯示到屏幕上,否則
將該字符的十進制ASCII碼值顯示到屏幕上*/ 
#include"stdio.h"
#include"stdlib.h"
#include"ctype.h"
int main()
{
    FILE *fp;
    char ch;
    int i;
    if((fp=fopen("demo.bin","wb"))==NULL)     //以二進制寫的形式打開文件
    {
        printf("Failure to open demo.bin !\n");
        exit(0);
    } 
    for(i=0;i<128;i++)
    {
        fputc(i,fp);                          //將字符的ASCII碼值寫入文件 
    }   
    fclose(fp);
    if((fp=fopen("demo.bin","rb"))==NULL)     //以二進制讀的形式打開文件
    {
        printf("Failure to open demo.bin !\n");
        exit(0);
    } 
    while((ch=fgetc(fp))!=EOF)                //從文件中讀取字符直到文件末尾
    {
       if(isprint(ch))                        //判斷是否爲可打印字符
         printf("%c\t",ch);                   //若是可打印字符,則顯示到屏幕上
         else
           printf("%d\t",ch);                 //若非可打印字符,則顯示該字符的ASCII碼值 
    } 
    fclose(fp);
    return 0;
}

運行結果:
這裏寫圖片描述

知識點:
1.函數fputc()用於將一個字符寫到一個文件上,其原型爲:
int fputc(int c,FILE *fp)
2.”rb”是以二進制讀的形式打開文件,而”rb”則是以二進制讀的形式打開文件,不可將二者混爲一潭。
3.文件有打開就一定要進行關閉,否則會造成運行過在導致卡頓或死機的現象。並且是以fclose(fp)的形式進行關閉之前打開的文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章