文件的范例
来源:互联网 发布:非法集资判定知不知情 编辑:程序博客网 时间:2024/06/01 12:35
范例12.1
编写一个程序,从键盘上输入一个字符写至文件中。
#include <stdio.h>void main(){ FILE *fp; char c; printf("输入要写入的字符:"); scanf("%c",&c); if ((fp = fopen("file.txt", "w")) == NULL) { printf("打开文件出错\n"); exit(1); } fputc(c,fp); fclose(fp);}
- 定义一个文件指针fp;
- 通过判断fopen()函数的返回值确定file.txt 是否被正常的打开
- 将输入的字符写至fp所指的文件中
- 利用fclose()函数关闭文件指针
范例12.2
利用fputc()函数将一串字符串写入文件中,直到遇到“*”截至
#include <stdio.h>#include <stdlib.h>void main(){ FILE *fp; char c; if ((fp = fopen("file.txt", "w")) == NULL); { printf("打开文件出错\n"); exit(1); } c = getchar(); while (c != '*') { fputc(c, fp); c = getchar(); } fclose(fp);}
范例12.3
磁盘上有一名为cfile.txt的文本文件,编写程序读出该文件中的所有内容。
#include <stdio.h>#include <stdlib.h>void main(){ FILE *fp; char c; if ((fp = fopen("cfile.txt", "r")) == NULL) { printf("打开文件出错\n"); exit(1); } c = fgetc(fp); while (c != EOF) { putchar(c); c = fgetc(fp); } fclose(fp);}
范例12.4现有一个data.txt中存储了10名学生的信息,编写程序读取文件中的内容,并将其显示在屏幕上。
#include <stdio.h>#include <stdlib.h>struct st{ char name[20]; int age; char sex; float score;}s[10];void main(){ FILE *fp; int i; if ((fp = fopen("data.txt", "r")) == NULL) { printf("打开文件出错\n"); exit(1); } for (i = 0; i < 10; i++) { fread(&s[i], sizeof(struct st), 1, fp); } for (i = 0; i < 10; i++) printf("%s %d %c %f\n",s[i].name,s[i].age,s[i].sex,s[i].score); fclose;}
范例12.5 修改范例12.4实现从键盘上输入这10名学生的信息,将这些信息写入文本中。
#include <stdio.h>#include <stdlib.h>struct st{ char name[20]; int age; char sex; float score;}s[10];void main(){ FILE *fp; int i; if ((fp = fopen("student.txt", "w")) == NULL) { printf("打开文件出错\n"); exit(1); } for (i = 0; i < 10; i++) scanf("%s %d %c %f", s[i].name, &s[i].age, &s[i].sex, &s[i].score); for (i = 0; i < 10; i++) fwrite(&s[i],sizeof(struct st),1,fp); fclose(fp);}
范例12.6 利用fprintf()函数,写入若干个学生的信息至文件中。
#include <stdio.h>#include <stdlib.h>struct st{ char name[20]; int age; char sex; float score;}s[5];void main(){ FILE *fp; int i; if ((fp = fopen("stud.txt", "w")) == NULL) { printf("打开文件出错\n"); exit(1); } for (i = 0; i < 5; i++) scanf("%s%d%c%f",s[i].name,&s[i].sex,&s[i].score); for (i = 0; i < 5; i++) fprintf(fp,"%s %d %c %f",s[i].name,s[i].age,s[i].sex,s[i].score); fclose(fp);}
范例12.7
从data.txt文件中读取信息至屏幕上
#include <stdio.h>#include <stdlib.h>struct st{ char name[20]; int age; char sex; float score;}s[5];void main(){ FILE *fp; int i; if ((fp = fopen("stud.txt", "w")) == NULL) { printf("打开文件出错\n"); exit(1); } for (i = 0; i < 5; i++) fscanf(fp,"%s %d %c %f",s[i].name,&s[i].age,&s[i].sex,&s[i].score); for (i = 0; i < 5; i++) printf("%s,%d %c %f\n",s[i].name,s[i].age,s[i].sex,s[i].score); fclose(fp);}
范例12.8 从磁盘上读取一文件显示在屏幕上,然后将该文件中内容复制到另一文件中。
#include <stdio.h>void main(){ FILE *fp1, *fp2; char c; fp1 = fopen("a.txt", "r"); fp2 = fopen("b.txt", "w"); while (!feof(fp1)) { c = fgetc(fp1); putchar(c); } rewind(fp1); while (!feof(fp2)) { c = fgetc(fp1); fputc(c, fp2); } fclose(fp1); fclose(fp2);}
范例12。10
现有一磁盘文件file.txt,其内容如下:
#include <stdio.h>#include <stdlib.h>void main(){ FILE *fp; long p; if ((fp = fopen("file.txt", "a+")) == NULL) { printf("打开文件出错\n"); exit(1); } p = ftell(fp); printf("当前指针位置%ld\n",p); fseek(fp, 0, 2); p = ftell(fp); printf("当前指针位置%ld\n",p); fputs("This is a c program!", fp); p = ftell(fp); printf("当前指针位置为%ld\n", p); fclose(fp);}
范例12.11
将磁盘中的一个文件内容复制到另一个文件中。
#include <stdio.h>#include <stdlib.h>void main(){ FILE *fp1, *fp2; char ch; char in[10]; char out[10]; printf("输入要复制的文件名: "); scanf("输入要复制到哪一个文件:"); if ((fp1 = fopen(in, "r")) == NULL) { exit(0); } if ((fp2 = fopen(out, "w")) == NULL) { printf("不能打开文件\n"); exit(0); } while (!feof(fp1)) { ch = fgetc(fp1); fputc(ch, fp2); fclose(fp1); fclose(fp1); }}
范例12.12
现有一文件记录了10名学生的信息,包括姓名,学号,及4门科目的成绩,要求从文件中读取出数据并计算4门科目的平均成绩,写至另外一个文件中。
#include <stdio.h>#include <stdlib.h>void main(){ void f(); char s[][10] = { "学号","姓名","语文","数学","计算机","平均成绩" }; f(s);}void f(char (*p)[10]){ FILE *fp; int score[10][4]; float aver[10]; char xuehao[10][10], name[10][20]; char t[5]; int i, j, k = 0; float a[10], *p1; p1 = a; fp = fopen("stuin.txt","r"); for (i = 0; i < 10; i++) { fscanf(fp,"%s",xuehao[i]); fscanf(fp,"%s",name[i]); for(j=0;j<4;j++) fscanf(fp,"%f",score[i][j]); *(p1 + i) = (score[i][0] + score[i][0] + score[i][2] + score[i][3]) / 4.0; } fclose(fp); fp = fopen("stuout.txt", "w"); for (i = 0; i < 10; i++) { fprintf(fp,"%10s",xuehao[i]); fprintf(fp, "%10s", name[i]); for (j = 0; i < 4; j++); fprintf(fp,"%3d",score[i][j]); fprintf(fp,".1f%f",*(p1+i)); } fclose(fp); fp = fopen("stuout.txt", "r"); for (i = 0; i < 10; i++) { fscanf(fp,"%s",xuehao[i]); fscanf(fp,"%s",name[i]); for (j = 0; j < 4; j++); fscanf(fp,"%d",score[i][j]); fscanf(fp, "%f", a[i]); } for (i = 0; i < 10; i++) { printf("%10s%10s%3d%3d%3d%3d%6.1f\n",xuehao[i],name[i],score[i][0],score[i][i],score[i][2],score[i][3],a[i]); } fclose(fp);}
1、f 函数不接受1个参数
2、从double转换为float 可能丢失数据
3、fopen
4、fscanf()
5、格式字符串%f需要类型float的参数,但可变参数1拥有了类型int
6、
0 0
- 文件的范例
- 文件的范例题目
- bat 文件的编写范例
- #读取一个文件相关信息的范例
- PKG文件范例详解
- FreeRTOS--范例工程文件
- spring控制文件,范例
- Nautilus脚本文件范例
- PKG文件范例详解
- PKG文件范例详解
- 文件下载Servlet范例
- PKG文件范例详解
- PUUPLOAD 上传文件范例
- Java文件读取范例
- [原创]代码范例:一个读文件的进度条
- FSO读取一个文件相关信息的范例
- Hibernate的映射文件assigned异常 使用范例
- 在struts2,hibernate.spring版本包里找配置的范例文件
- 关于哈希的几个概念
- bzoj1644: [Usaco2007 Oct]Obstacle Course 障碍训练课
- jQuery入门
- Eclipse4.X版本安装fatjar插件(luna mars 版本均可用)
- 小白笔记----------------leetcode(404. Sum of Left Leaves )
- 文件的范例
- [js点滴]JavaScript之鼠标事件04
- Unknown tag (c:forEach) 未知的标签 解决方法
- Spring4.3.3 WebSocket-STOMP协议集成 (1.1)-WebSocket协议通讯小栗子
- Tensorflow:tf.train.SyncReplicasOptimizer
- UVa839-Not so Mobile (天平)
- LWIP之TCP
- [js点滴]JavaScript之键盘事件05
- LeetCode 456. 132 Pattern