C语言-文件基本操作

  1 #include <iostream>
  2 #include <stdio.h>
  3 #include <stdlib.h>
  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 }
时间: 2024-11-03 01:26:27

C语言-文件基本操作的相关文章

C语言文件的读入与写入及C#基础函数学习[图]

C语言文件的读入与写入及C#基础函数学习[图]学了一学期的C语言,还不怎么会使用指针,文件的读入和写入也不能很顺利的写出来,说起来好惭愧.碰巧今天朋友让我帮他编写一个C语言程序,对他数模要用到的大量数据求平均值(每天不同时刻对某一物理量进行检测,持续几十天,求那些时刻测得的物理量的平均值).代码很简单,关键是要掌握怎样对文件进行读入和写入(当然对于菜鸡的我来说,懒惰让我在大一没有好好学习,正好趁着这个契机把文件的基本的操作学会:))分模块来编写还是很重要的,可以使程序看起来简洁明了.写了两个函数

C语言文件读写操作总结

C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了.当使用打开函数时,必须给出文件名.文件操作方式(读.写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头.若已有一个同名文件存在,则删除该文件,若无同名文件,则建立该文件,并将文件指针指向文件开头. fopen(char

C语言文件操作函数的编写

 编写文件操作的头文件 /************************************************************************** Copyright(C)    :2014-08-5 toto Filename       :file.h Author          :涂作权 Version         :V1.1 Date            :2014-08-05 Description     :文件操作的头文件 Others  

java RandomAccessFile类文件基本操作

RandomAccessFile类是java中仿C的文件操作方法,下面通过实例演示RandomAccessFile类对文件的基本操作,深入了解请查看Java API文档.(注:RandomAccessFile类大多不被采用) 上代码 import java.io.*; public class AccessFileDemo { public static void main(String[] args) { Student stu1=new Student("Zhang San",10

C语言 文件

小白一个,看到有错误,希望指出,万分感谢 /****************************************************************C语言文件概述:    一般文件可分为二进制文件和文本文件. 约定:我们把数据在终端上的表现形式称为数据的终端形式,而不 称为字符形式. 注:终端是指键盘 显示器等和用户直接打交道的输入输出设备. 二进制文件是把内存中的书按其在内存中的储存形式原样输出到磁 盘上存放,也就是说存放的是数据的原样式. 文本文件是把数据终端形式的二

目录结构及文件基本操作

目录结构及文件基本操作 Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录结构之前,你首先要清楚一点东西,那就是 Linux 的目录与 Windows 的目录的区别,或许对于一般操作上的感受来说没有多大不同,但从它们的实现机制来说是完全不同的. 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介

Linux 基础入门----目录结构及文件基本操作

Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录结构之前,你首先要清楚一点东西,那就是 Linux 的目录与 Windows 的目录的区别,或许对于一般操作上的感受来说没有多大不同,但从它们的实现机制来说是完全不同的. 一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘符(C

C 语言文件操作

1. 数据流:     程序与数据的交互以流的形式进行.fopen 即打开数据流,fclose 即刷新数据流.     所谓数据流,是一种抽象,表示这段数据像流一样,需要逐步接收,不能随机存取:也意味着是一段连续的内容,每块数据之间的顺序是确定的.比如一个很大的文件,不能一次性加载到内存里面,无法直接获取文件任意位置的内容,只能逐渐加载到内存.     比如 TCP 被抽象为 stream 而 UDP 被抽象为 block.     2. 缓冲区:     fopen 时, 磁盘 --> 缓冲区

C语言文件的概念和文件指针

1 C语言文件的概念 在程序中,当调用输入函数从外部文件中输入数据赋给程序中的变量时,这种操作成为“输入”或“读”:当调用输出函数把程序中变量的值输出到外部文件中时,这种操作称为“输出”或“写”. C 语言中,对于输入.输出的数据都按“数据流”的形式进行处理.也就是说,输出时,系统不添加任何信息:输入时,逐一读入数据,直到遇到 EOF 或文件结束标志就停止.C 程序中的输入.输出文件都以数据流的形式存储在介质上. 对文件的输入.输出方式也称为“存取方式”.C 语言中,有两种对文件的存取方式:顺序