您的位置:首页 > 编程语言 > C语言/C++

C语言练习 文件操作

2017-03-08 19:45 295 查看
在C程序中使用文件,需要完成以下操作。

(1)声明一个FILE*类型的指针变量,程序通过改变量对所指向的文件进行操作。

(2)通过调用fopen函数将此变量和某个实际文件相联系,这一操作称为打开文件。打开一个文件需要指定一个文件名,并且指定该文件是用于输出还是输入(读还是写)。

(3)调用适当的文件处理函数完成必要的I /O操作。这些函数的原型声明包含在头文件stdio.h中。

(4)通过调用fclose函数声明文件操作结束,这一操作称为关闭文件,他断开了FILE*类型的变量与实际文件间的联系。

示例代码:

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

int main() {
FILE *fp;
int i = 0;
char s;

fp = fopen("d:\\date.txt", "r");
while(!feof(fp)) {
fscanf(fp, "%c", &s);
printf("%c", s);
}

fclose(fp);

system("pause");
return 0;
}

示例结果:



打开文件的使用方式

“r”——只读,以只读方式打开已存在文件。

“w”——只写,以只写方式新建文本文件,若存在同名文件则刷新已有文件。

“a”——追加,以只读方式打开文已存在本文件,数据追加到末尾。

“r+”——读写,为读/写方式打开已存在文本文件。

“w+”——读写,以读/写方式新建文本文件,若存在同名文件则刷新已有文件。

“a+”——读写,以读/写方式打开已存在文本文件,数据追加到末尾。

格式化的数据读/写

(1)格式化输入函数
Int fscanf(FILE *fp, char *format, 地址列表)

功能:按照格式控制字符串format所给定的输入格式,把从fp所指向的文件当期那读写位置起读入的数据,按地址列表存入指定的存储单元。从文件读入数据后,文件读写位置向后做相应的移动。

(2)格式化输出函数
Int fprintf(FILE *fp, char *format, 输出表)

功能:按照格式控制字符串format所给定的输出格式,从fp所指向文件的当前读写位置起,把输出表中各表达式值输出文件。

    fprintf函数、fscanf函数与printf函数、scanf函数作用相仿,都是格式化读写函数,知识fprintf和fscanf函数的读写对象不是终端而是磁盘文件。

示例代码:

/*从键盘上输入10个学生的C语言成绩,以格式%5d写到文本文件score.txt中。*/
#include<stdio.h>
#include<stdlib.h>

int main() {
FILE *fp1;
int i, score;

fp1 = fopen("d:\\score.txt", "w");
for(i = 0; i < 10; i++) {
scanf("%d", &score);
fprintf(fp1, "%5d", score);
}
fclose(fp1);

system("pause");
return 0;
}

示例输入:



示例结果:

在D盘中找到并打开score.txt文本文件。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: