C/C++知识点之C语言-文件基本操作
小标 2018-09-18 来源 : 阅读 1078 评论 0

摘要:本文主要向大家介绍了C/C++知识点之C语言-文件基本操作,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之C语言-文件基本操作,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。           

  1 #include 
  2 #include 
  3 #include 
  4 using namespace std;
  5 #define FILENAME "E:\\FUSHI\\test.txt"
  6 
  7 int main()
  8 {
  9     /*
 10     新建文件,并写文件
 11     FILE *fp;
 12     char f_name[30];
 13     char choise,in_char;
 14 
 15     printf("\n\t请输入要新建的文件名:");
 16     scanf("%s",f_name);
 17     fp=fopen(f_name,"w+");
 18 
 19     in_char=getchar();
 20     while(in_char!=‘*‘)
 21     {
 22         fputc(in_char,fp);
 23         in_char=getchar();
 24     }
 25     fclose(fp);
 26     //if(fopen("E:\\FUSHI\\text.c","w+")==NULL)
 27     */
 28     /*
 29     //输入文件名,输出给文件的内容
 30     FILE *fp;
 31     char out_ch,f_name[30];
 32     printf("\n\t请输入的文件名:");
 33     scanf("%s",f_name);
 34     fp=fopen(f_name,"r");//只读
 35     if(fp!=NULL)
 36     {
 37         while((out_ch=fgetc(fp))!=EOF)
 38             putchar(out_ch);
 39     }
 40     else
 41         printf("\n\t%s文件不存在。\n",f_name);
 42     fclose(fp);
 43     */
 44     /*
 45     //将文件data1.txt的内容复制到文件data2.txt中
 46     FILE *f_in,*f_out;
 47     char str[50];
 48     f_out=fopen("E:\\FUSHI\\data1.txt","r");
 49     f_in=fopen("E:\\FUSHI\\data2.txt","w");
 50     while(!feof(f_out))
 51     {
 52         fgets(str,30,f_out);
 53         fputs(str,f_in);
 54     }
 55     fclose(f_in);
 56     fclose(f_out);
 57     */
 58     /*
 59     //将10个学生记录输入文件E:\FUSHI\stu1.txt中
 60     //并在屏幕上显示
 61     FILE *fp;
 62     long num;//学号
 63     int n,score;
 64     char name[20];
 65     fp=fopen("E:\\FUSHI\\stu1.txt","w");
 66     printf("\n请依次输入10个学生的姓名、学号、分数:\n");
 67     for(n=1;n<=10;n++)
 68     {
 69         scanf("%s%10ld%d",name,&num,&score);
 70         fprintf(fp,"%20s%10ld%5d\n",name,num,score);
 71     }
 72     fclose(fp);
 73 
 74     fp=fopen("E:\\FUSHI\\stu1.txt","r");
 75     for(n=1;n<=10;n++)
 76     {
 77         fscanf(fp,"%20s%10ld%5d\n",name,&num,&score);
 78         printf("%20s%10ld%5d\n",name,num,score);
 79     }
 80     fclose(fp);
 81     */
 82     /*
 83     //按数据块读写的函数fread(),fwrite()
 84     //将5个学生记录输入文件E:\FUSHI\stu2.txt,然后显示
 85 
 86     typedef struct
 87     {
 88         char name[20];
 89         long num;
 90         int score;
 91     }STU;
 92     STU stu,a[5];
 93     int i;
 94     FILE *fp;
 95     fp=fopen("E:\\FUSHI\\stu2.txt","w");
 96     printf("\n请依次输入5个学生的姓名、学号、分数:\n");
 97     for(i=0;i<5;i++)
 98     {
 99         scanf("%s%ld%d",a[i].name,&a[i].num,&a[i].score);
100     }
101     if(fwrite(a,sizeof(STU),5,fp)!=5)
102     {
103         printf("文件不能写入数据.\n");
104         exit(1);//异常退出
105     }
106     fclose(fp);
107 
108     fp=fopen("E:\\FUSHI\\stu2.txt","r");
109     for(i=0;i<5;i++)
110     {
111         if(fread(&stu,sizeof(STU),1,fp)==1)
112         {
113             printf("\t%6s%10ld%5d\n",stu.name,stu.num,stu.score);
114         }
115         else
116         {
117             printf("文件不能读取数据.\n");
118             exit(1);
119         }
120     }
121     fclose(fp);
122     */
123     //打开并检测是否成功;否则,新建并打开
124     FILE *fp;
125     fp=fopen(FILENAME,"r");
126     if(fp==NULL)
127     {
128         printf("不能打开文件:%s\n",FILENAME);
129         printf("新建 文件%s\n",FILENAME);
130         fp=fopen(FILENAME,"w");
131     }
132     else
133     {
134         printf("打开文件成功!\n");
135     }
136     fclose(fp);
137 
138     return 0;
139 }

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程