首页 > 编程语言 > 详细

c语言文件

时间:2019-12-16 20:23:47      阅读:78      评论:0      收藏:0      [点我收藏+]

任务一:创建txt文件

运行代码:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 int main()
 5 {
 6     char name[300];
 7         int i;  
 8         FILE *fp;
 9         for(i=0;i<=10;i++)
10        {
11             scanf("%s",name);
12             strcat(name,".txt");
13         if ((fp = fopen(name,"w")) == NULL)
14            {
15                 printf("Failed to open file");
16                 }
17     }
18     exit(0);
19 }

 

运行结果:

技术分享图片

 

 

任务二:创建txt文件并写入数据

运行代码:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 int main()
 5 {
 6     char name[300];
 7     int i;  
 8     int num,class;
 9     char sex[10];
10     double score;
11     FILE *fp;
12     for(i=0;i<=10;i++)
13     {
14         scanf("%s",name);
15         strcat(name,".txt");
16         if ((fp = fopen(name,"w")) == NULL){
17             printf("Failed to open file");
18             }
19         fprintf(fp,"学号 班级 性别 线代成绩\n");
20         //for(i=0;i<1;i++)
21            //{
22                scanf("%d %d %s %lf",&num,&class,sex,&score);
23                fprintf(fp,"%d  %d   %s   %1.1f",num,class,sex,score);
24                fclose(fp);
25            //}
26     }
27     exit(0);
28 }

 

运行结果:

技术分享图片

任务三:创建txt文件写入并读出数据

运行代码:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 struct student
 5 {
 6     char name[20];
 7     int number;
 8     int class;
 9     char gender[10];
10     char score[20];
11 }; 
12 int main()
13 {
14     char name1[20];
15     char name2[20];
16     int i;
17     int num,class;
18     char sex[10];
19     char score[20];
20     FILE *fp;
21     struct student stu[500];
22     for(i=0;i<=10;i++)
23     {
24         printf("请输入姓名,学号,班级,性别,线代成绩:\n");
25         scanf("%s",name1);
26         strcpy(name2,name1);
27         strcat(name1,".txt");
28         if ((fp = fopen(name1,"w")) == NULL){
29             printf("Failed to open file\n");
30             }
31         fprintf(fp,"姓名           学号            班级            性别            线代成绩\n");
32         scanf("%d%d%s%s",&num,&class,sex,score);
33         fprintf(fp,"%-17s%-17d%-15d%-19s%-s",name2,num,class,sex,score); //数据对齐
34         fclose(fp);
35         fp = fopen(name1,"r");
36         fscanf(fp,"%*[^\n]"); //略过第一行
37         fscanf(fp,"%s %d %d %s %s",&stu[i].name,&stu[i].number,&stu[i].class,&stu[i].gender,&stu[i].score);
38         printf("姓名           学号            班级            性别            线代成绩\n");
39         printf("%-17s%-17d%-15d%-19s%-s\n",stu[i].name,stu[i].number,stu[i].class,stu[i].gender,stu[i].score);
40     }
41     exit(0);
42 }

 

运行结果:

技术分享图片

任务四:

system("pause"):实现冻结屏幕

system("cls"):实现清屏操作

system("clear"):同上

system("color 0A"):其中color后面的0是背景色代号,A是前景色代号

各颜色代码如下:

0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色

9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

system("mkdir D:\zero\one") 可以在D盘下建立一个文件夹zero,在zero下面建立一个文件夹one

system("data"):  显示使用者当时使用时间

最终代码:

  1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include<string.h>
  4 struct student    //定义结构体
  5 {
  6     char name[20];
  7     int number;
  8     int class;
  9     char gender[10];
 10     char score[20];
 11 }; 
 12 int i;
 13 void menu()
 14 {
 15     printf("    欢迎使用本信息服务 \n");
 16     printf("   请选择您所使用的服务:\n");
 17     printf("   ?查询&修改[1]\n");
 18     printf("   ?添加[2]\n");
 19     printf("   ?退出[0]\n");
 20 }
 21 void Txt_Write()  //读取txt
 22 {
 23     system("clear");
 24     int n;
 25     char name1[20];
 26     char name2[20];
 27     int num,class;
 28     char sex[10];
 29     char score[20];
 30     FILE *fp;
 31     struct student stu[500];
 32     printf("请输入所添加的人数:\n");
 33     scanf("%d",&n);
 34     printf("请输入姓名,学号,班级,性别,线代成绩:\n");
 35     for(i=1;i<=n;i++)
 36     {
 37         scanf("%s",name1);
 38         strcpy(name2,name1);
 39         strcat(name1,".txt");
 40         if ((fp = fopen(name1,"w")) == NULL)
 41         {
 42             printf("Failed to open file\n");
 43             }
 44         fprintf(fp,"姓名           学号            班级            性别            线代成绩\n");
 45         scanf("%d%d%s%s",&num,&class,sex,score);
 46         fprintf(fp,"%-17s%-17d%-15d%-19s%-s",name2,num,class,sex,score); //数据对齐
 47         fclose(fp);
 48         fp = fopen(name1,"r");
 49         fscanf(fp,"%*[^\n]"); //略过第一行
 50         fscanf(fp,"%s %d %d %s %s",&stu[i].name,&stu[i].number,&stu[i].class,&stu[i].gender,&stu[i].score);
 51         printf("姓名           学号            班级            性别            线代成绩\n");
 52         printf("%-17s%-17d%-15d%-19s%-s\n",stu[i].name,stu[i].number,stu[i].class,stu[i].gender,stu[i].score);
 53     }
 54     printf("数据已更新,请打开文件夹查看:)\n");
 55     exit(0);
 56 }
 57 void Txt_Read()  //读取txt
 58 {
 59     system("clear");
 60     int j=5;
 61     char name1[20];
 62     char name2[20];
 63     int num,class;
 64     char sex[10];
 65     char score[20];
 66     FILE *fp;
 67     struct student stu[500];
 68     printf("请输入所查询姓名:\n");
 69     printf("单次最多可查询5次");
 70     while((j--)
 71     {
 72         scanf("%s",name1);
 73         strcpy(name2,name1);
 74         strcat(name1,".txt");
 75         if ((fp = fopen(name1,"r")) == NULL)
 76        {
 77            printf("Failed to open file\n");
 78         }
 79         fp = fopen(name1,"r");
 80         fscanf(fp,"%*[^\n]"); //略过第一行
 81         fscanf(fp,"%s %d %d %s %s",&stu[i].name,&stu[i].number,&stu[i].class,&stu[i].gender,&stu[i].score);
 82         printf("姓名           学号            班级            性别            线代成绩\n");
 83         printf("%-17s%-17d%-15d%-19s%-s\n",stu[i].name,stu[i].number,stu[i].class,stu[i].gender,stu[i].score);
 84         fclose(fp);
 85     }
 86     exit(0);
 87 }
 88 int main()
 89 {
 90     int x;
 91     while(1)
 92     {
 93         menu();
 94         scanf("%d", &x);
 95         switch(x)
 96         {
 97             case 1: Txt_Read();
 98                 break;
 99             case 2: Txt_Write();
100                 break;
101             case 0:
102                 printf("已退出\n");
103                 printf("欢迎下次使用:)\n");
104                 return 0;
105                 break;
106             default:
107             printf("请检查你的输入:(\n");
108                 sleep(3);
109                 system("clear");
110                 break;
111         }
112     }
113     return 0;
114 }

 

运行结果:

菜单界面

技术分享图片

 

 

查询功能

技术分享图片

 

 添加&修改功能

技术分享图片

 

退出程序

技术分享图片

 

 

总结:

1.熟悉了文件基本操作相关函数的使用

2.结构体的使用使数据处理的方式高效简洁

3.了解缓冲区及EOF的概念,尝试如何打开二进制文件

c语言文件

原文:https://www.cnblogs.com/bob3000/p/12044606.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!