C语言文件操做

来源:互联网 发布:啊哈 算法 epub 编辑:程序博客网 时间:2024/06/05 22:40
/*************
文件操作
按字符读写文件
***************/

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *fp;
    char ch;
    if((fp = fopen("demo.txt","w")) == NULL)        //判断文件是否成功打开
    {
        printf("Failure to open demo.txt!\n");
        exit (0);
    }
    printf("Input:");
    ch = getchar();
    while (ch != '\n')                //若键入回车换行符,结束键盘输入和文件写入
    {
        fputc(ch,fp);
        ch = getchar();
    }
    printf(" OK!\n");
    fclose(fp);                //关闭由函数fopen()打开的文件demo.txt
    return 0;
}



/*将0~127之间的ASCII字符写到文件中,然后读取显示到屏幕上*/

#include<stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;
    char ch;
    int i;
    if((fp = fopen("demo.bin","wb")) == NULL)
    {
        printf("Failure to open demo.txt!\n");
        exit (0);
    }
    for(i=0;i<128;i++)
    {
        fputc(i,fp);            //将ASCII码值在0~127之间的字符写进文件
    }
    fclose(fp);
    if((fp = fopen("demo.bin","rb")) == NULL)        //以二进制的方式打开文件
    {
        printf("Failure to open demo.txt!\n");
        exit (0);
    }
    while((ch = fgetc(fp)) != EOF)            //判断文件是否末尾
    {
        putchar(ch);            //在显示器上显示所有字符
    }
    fclose(fp);
    return 0;
}


/*修改一下打印到屏幕上*/
#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.txt!\n");
        exit (0);
    }
    for(i=0;i<128;i++)
    {
        fputc(i,fp);            //将ASCII码值在0~127之间的字符写进文件
    }
    fclose(fp);
    if((fp = fopen("demo.bin","rb")) == NULL)        //以二进制的方式打开文件
    {
        printf("Failure to open demo.txt!\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;
}