基本知识
使用文件方式:
文件使用方式 | 含义 | 如果指定的文件不存在 |
---|---|---|
“r”(只读) | 打开一个已存在的文本文件,从中读 | 出错 |
“w”(只写) | 打开一个文本文件,向里写 | 建立新文件 |
“a”(追加 ) | 向文本文件尾部添加数据 写 | 出错 |
“rb”(只读) | 打开一个已存在的二进制文件,从中读 | 出错 |
“wb”(只写) | 打开一个二进制文件,向里写 | 建立新文件 |
“ab”(追加) | 向二进制尾部添加数据 写 | 出错 |
“r+”“w+”“a+” | 打开一个文本文件,进行读写 | 出错、新建、出错 |
“rb +”“wb+”“ab+” | 打开一个二进制文件,进行读写 | 出错、新建、出错 |
以字符形式对文件输入输出
函数
函数名 | 调用形式 | 功能 | 返回值 |
---|---|---|---|
fgetc | fgetc(fp) | 从fp指向的文件读入一个字符 | 读成功,返回所读字符;失败,返回文件结束标志(EOF)即-1 |
fputc | fputc(ch,fp) | 将字符ch写到fp指向的文件 | 写成功,返回输出的字符;失败,则返回文件结束标志(EOF)即-1 |
实例
将一个文件中的信息复制到另一个文件中(利用字符一个一个读取文件信息)。
/*
Name: file_copy_char
Author:Liweidong
Date: 13/07/18 06:39
Description: 将一个磁盘文件中的信息复制到另一个磁盘文件中。
利用字符一个一个读取文件信息。
*/
#include <stdio.h>
#include <stdlib.h>
void main() {
FILE *fp_read,*fp_write;
char ch,fir_name[40],sec_name[40];
printf("请输入被复制的文件名:");
scanf("%s",fir_name);
printf("请输入新的文件名:");
scanf("%s",sec_name);
if( !(fp_read = fopen(fir_name,"r"))) {
printf("Cannot open the file %s !",fir_name);
return ;
}
if( !(fp_write = fopen(sec_name,"w"))) {
printf("Cannot open the file %s !",sec_name);
return ;
}
while( !(feof(fp_read))) {
ch = fgetc(fp_fir);
putchar(ch);
fputc(ch,fp_write);
}
printf("Copy complete!\n");
fclose(fp_fir);
fclose(fp_sec);
system("pause");
}
分析
见后续篇章 《文件——二进制 块读写》