文件操作函数

fopen()函数参数:

r

只读的方式打开文件。

打开成功返回文件指针,

打开失败返回NULL

r+

以读写方式打开文件。

文件必须存在

rb+

以二进制模式读写文件,文件必须存在

rw+

读写一个二进制文件,允许读和写

w

打开只写文件,若文件存在,则文件长度清零,若文件不存在,则创建该文件

w+

打开读写文件,若文件存在,则文件长度清零,若文件不存在,则创建该文件

a

以追加形式打开只写文件。

如果文件不存在,创建文件;

若文件存在,在文件结尾处写文件

a+

以追加形式打开读写文件。

如果文件不存在,创建文件;

若文件存在,在文件结尾处写文件

b表示以二进制模式读文件

1.在windows系统:文本模式下:文件以“ ”代表换行,以文本模式打开文件,并用fputs等函数写入换行符” ”时,函数会自动在“ ”之前加上” “。即实际上写入的” “;

2.在类Unix/Linux系统中文本模式下,文件以“ “代表换行,所以Linux系统中在文本模式下和二进制模式下并无区别。

getc()函数和putc()函数

getc()函数每次只从文件中读取一个字符;

puts()表示一次只写一个字符;

使用getc和putc实现文件加密

//加密过程
#include<stdio.h>
#define SEC 5
int main()
{
    FILE *p = fopen("./file.txt","r");
    FILE *p1 = fopen("./b.txt","w");
    if( NULL == p)
    {
        printf("open file failed
");
    }
    else
    {
        char c = 0;
        while( (c = getc(p)) != EOF )
        {
            c += 5;
            putc(c,p1);
        }
    }
    fclose(p);
    p = NULL;
    return 0;
}
//解密过程
#include<stdio.h>
#define SEC 5
int main()
{
    FILE *p = fopen("./b.txt","r");
    FILE *p1 = fopen("./c.txt","w");
    if( NULL == p)
    {
        printf("open file failed
");
    }
    else
    {
        char c = 0;
        while( (c = getc(p)) != EOF )
        {
            c -= SEC;
            putc(c,p1);
        }
    }
    fclose(p);
    p = NULL;
    fclose(p1);
    p1= NULL;
    return 0;
}
原文地址:https://www.cnblogs.com/wanghao-boke/p/11202890.html