`
microjava
  • 浏览: 318645 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

c语言编程基础之文件操作

阅读更多
文件使用方式               意义
    “rt”               只读打开一个文本文件,只允许读数据
    “wt”               只写打开或建立一个文本文件,只允许写数据
    “at”               追加打开一个文本文件,并在文件末尾写数据
    “rb”               只读打开一个二进制文件,只允许读数据
    “wb”               只写打开或建立一个二进制文件,只允许写数据
    “ab”               追加打开一个二进制文件,并在文件末尾写数据
    “rt+”    读写打开一个文本文件,允许读和写
    “wt+”    读写打开或建立一个文本文件,允许读写
    “at+”    读写打开一个文本文件,允许读,或在文件末追加数据
    “rb+”    读写打开一个二进制文件,允许读和写
    “wb+”    读写打开或建立一个二进制文件,允许读和写
    “ab+”    读写打开一个二进制文件,允许读,或在文件末追加数据

对于文件使用方式有以下几点说明:
1)文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
    r(read):        读
    w(write):       写
    a(append):      追加
    t(text):        文本文件,可省略不写
    b(banary):      二进制文件
    +:              读和写

2)凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。
3)用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。
4)若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件。但此时该文件必须是存在的,否则将会出错。
5)在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。因此常用以下程序段打开文件:
6)if((fp=fopen("c:\\hzk16","rb")==NULL)
         {
          printf("\nerror on open c:\\hzk16 file!");
          getch();
          exit(1);
}
这段程序的意义是,如果返回的指针为空,表示不能打开C盘根目录下的hzk16文件,则给出提示信息“error on open c:\ hzk16 file!”,下一行getch()的功能是从键盘输入一个字符,但不在屏幕上显示。在这里,该行的作用是等待,只有当用户从键盘敲任一键时,程序才继续执行,因此用户可利用这个等待时间阅读出错提示。敲键后执行exit(1)退出程序。
7)把一个文本文件读入内存时,要将ASCII码转换成二进制码,而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码,因此文本文件的读写要花费较多的转换时间。对二进制文件的读写不存在这种转换。
8)标准输入文件(键盘),标准输出文件(显示器),标准出错输出(出错信息)是由系统打开的,可直接使用。

对文件的读和写是最常用的文件操作。在C语言中提供了多种文件读写的函数:
•字符读写函数  :fgetc和fputc
•字符串读写函数:fgets和fputs
•数据块读写函数:freed和fwrite
•格式化读写函数:fscanf和fprinf
下面分别予以介绍。使用以上函数都要求包含头文件stdio.h。

读文件操作
#include<stdio.h>
//#include"conio.h"
main()
{
  FILE *fp;
  char ch;
  if((fp=fopen("c1.txt","rt"))==NULL)
  {
    printf("Cannot open file strike any key exit!");
    getchar();
    //getch();
    exit(1);
  }
 
  ch=fgetc(fp);
  while(ch!=EOF)
  {
    putchar(ch);
    ch=fgetc(fp);
  }
  fclose(fp);
}



写文件操作
#include<stdio.h>
main()
{
  FILE *fp;
  char ch;
 
  if((fp=fopen("c2.txt","wt++"))==NULL)
  {
    printf("Cannot open file strike any key exit!");
    //getch();
    getchar();
    exit(1);
  }

  printf("input a string:");
  ch=getchar();
  while(ch!='\n')
  {
    fputc(ch,fp);
    ch=getchar();
  } 
  rewind(fp); //把文件内部位置指针移到文件头
  ch=fgetc(fp);
  printf("ch:%c",ch);
  printf("you input is:");
  while(ch!=EOF)
  {
    printf("putchar\n");
    putchar(ch);
    ch=fgetc(fp);
  }
  printf("\n");
  fclose(fp);
}



/*把命令行参数的前一个文件名标识的文件复制到后一个,若只有一个文件则打印出来*/
#include<stdio.h>
main(int argc,char *argv[])
{
  FILE *fp1,*fp2;
  char ch;
  if(argc==1)
  {
    printf("have not enter file name strike any key exit");
    getchar();
    exit(0);
  }
  if((fp1=fopen(argv[1],"rt"))==NULL)
  {
    printf("Cannot open %s\n",argv[1]);
    getchar();
    exit(1);
  }

  if(argc==2) fp2=stdout;
  else if((fp2=fopen(argv[2],"wt++"))==NULL)
  {
    printf("Cannot open %s\n",argv[2]);
    getchar();
    exit(1);
  }
  while((ch=fgetc(fp1))!=EOF)
    fputc(ch,fp2);

  fclose(fp1);
  fclose(fp2);
}



/*从文件中读入一个含有十个字符的字符串*/
#include<stdio.h>
main()
{
  FILE *fp;
  char str[11];

  if((fp=fopen("c1.txt","rt"))==NULL)
  {
    printf("Cannot open file strike any key exit!");
    getchar();
    exit(1);
  }
 
  fgets(str,11,fp);
  printf("\n%s\n",str);
  fclose(fp);
}



/*建立文件追加字符串*/
#include<stdio.h>
main()
{
  FILE *fp;
  char ch,st[20];

  if((fp=fopen("filewa","at++"))==NULL)
  {
    printf("Cannot open file strike any key exit!");
    getchar();
    exit(1);
  }
  
  printf("input a string:");
  scanf("%s",st);
  fputs(st,fp);

  rewind(fp);
  ch=fgetc(fp);
  while(ch!=EOF) 
  {
    putchar(ch);
    ch=fgetc(fp);
  }
  printf("\n");
  fclose(fp);
}

分享到:
评论

相关推荐

    C语言编程基础与范例

    《C语言编程基础与范例》是一本专为初学者设计的编程教程,它深入浅出地介绍了C语言的基础知识和编程技巧。C语言作为计算机科学中的基础编程语言,其简洁、高效的特点使得它在软件开发领域有着广泛的应用。本教程...

    C语言编程基础.rar

    C语言编程基础是计算机科学中的一个关键领域,尤其对于初学者而言,它是理解计算机工作原理和软件开发的基础。本教程是专为在Windows环境下学习C语言编程设计的,旨在帮助新手快速入门并掌握编程的基本概念。 C语言...

    基于单片机的C语言编程基础

    对于想要进入这个领域的初学者,掌握单片机的C语言编程基础至关重要。C语言是一种通用的、面向过程的编程语言,因其简洁、高效而被广泛应用于硬件控制,包括单片机编程。 本教程“基于单片机的C语言编程基础”主要...

    C语言基础-C语言编程基础之Leetcode编程题解之第30题串联所有单词的子串.zip

    在这个压缩包中,"C语言基础_C语言编程基础之Leetcode编程题解之第30题串联所有单词的子串"很可能是包含解答代码的文件,可能还包括了详细的解题思路和分析。通过阅读和学习这个文件,读者不仅可以了解如何解决这个...

    C语言编程基础.pptx

    本资源摘要信息将对C语言编程基础的知识点进行总结,涵盖C语言的基本概念、主要特点、Turbo C集成环境的使用、C语言的数据类型、C程序结构组成与设计方法、C函数的分类与调用、数组、文件与指针操作等。 一、C语言...

    Linux下C语言编程基础知识

    Linux下C语言编程基础知识是指在Linux操作系统下使用C语言进行编程的基本知识和技术。这里主要介绍了C语言源程序的编译、Makefile的编写和使用等基本概念和技术。 一、源程序的编译 在Linux下,如果要编译一个...

    C语言编程基础教程精讲

    内容概要:本PDF文件提供了关于《C语言编程基础》的详细教程,包括计算机基础概念、程序设计语言的发展历史以及C语言的基本特性与用途,并具体深入讲解C语言的各个主题内容,涵盖基础语法、常见关键字与标识符使用...

    C语言编程之道

    通过阅读《C语言编程之道》,读者不仅可以掌握C语言的基本语法,还能理解其背后的原理,为高级编程和系统级开发打下坚实的基础。书中可能还会包含实际编程示例、习题和解答,帮助读者巩固所学知识,提高编程技能。...

    嵌入式系统高级C语言编程(扫描版)

    在《嵌入式系统高级C语言编程》中,作者首先会讲解C语言的基础知识,包括变量、数据类型、运算符、流程控制语句等,这些都是编程的基础。然而,本书的重点并不止于此,而是更进一步,深入到C语言的高级特性,如指针...

    C语言编程宝典(超经典)

    压缩包中的"C语言编程宝典之一.exe"可能是电子书的执行文件,这使得读者可以直接在计算机上阅读和学习,无需额外安装阅读软件。不过,为确保安全,建议在运行前进行病毒扫描。 总之,《C语言编程宝典》是一本涵盖了...

    PIC单片机C语言C语言编程实例

    另一方面,"PIC单片机C语言编程实例三.rar"是一个压缩文件,可能包含了更多的编程实例、项目文件或者额外的参考资料。解压后,用户可能发现源代码文件、项目配置文件以及可能的编译说明。这些资源有助于读者在实践中...

    c语言编程 c语言编程 c语言编程

    C语言编程是计算机科学的基础,它是一种强大的、通用的编程语言,被广泛应用于系统开发、软件工程、嵌入式系统以及各种应用程序的编写。对于新手来说,掌握C语言编程是迈入编程世界的必经之路。 C语言编程的核心...

    嵌入式系统高级C语言编程(详细书签版本)

    这部分内容可能包括文件操作、串行通信、网络协议等。 9. **性能优化**:针对嵌入式系统资源有限的特点,书中可能会讨论代码优化技巧,如减少循环次数、利用编译器优化选项等。 10. **固件更新与安全**:随着...

    C 语言编程宝典 C语言编程宝典

    9. **文件操作**:C语言提供标准输入/输出库(stdio.h),支持读写文本文件和二进制文件。掌握文件的打开、读写、关闭等操作,是实现数据持久化的基础。 10. **错误处理与调试**:学会使用断言(assert)、错误检测...

    操作系统c语言模拟文件管理系统

    操作系统是计算机系统的核心组成部分,它负责管理系统的硬件资源和软件资源,为用户提供友好的接口和服务。在本项目中,我们通过C语言实现了一个基础...同时,这样的实践也能够提高我们的C语言编程技巧和系统编程能力。

    C语言编程宝典之一.rar_C语言_C语言编程宝典_c语言编程_visual c

    《C语言编程宝典之一》是一本专注于C语言学习的资源集合,旨在帮助读者深入理解和掌握C语言的基础和高级概念。C语言是一种强大的、低级的编程语言,被广泛应用于系统编程、软件开发、游戏引擎等多个领域。这本书或...

    中等职业学校计算机应用专业c语言编程基础科试卷及答案.pdf

    本资源是中等职业学校计算机应用专业C语言编程基础科试卷及答案,涵盖了C语言的基础知识点,包括语言基本概念、数据类型、运算符、控制结构、函数、数组、指针、文件操作等。 一、语言基本概念 * Unix系统诞生于...

    我的第①本c语言编程书:C语言从入门到精通

    3. **文件操作**:掌握文件输入输出操作是开发实际应用时必不可少的技能之一。包括打开文件、读写文件以及关闭文件等操作。 ### 实战项目经验 1. **小型项目实战**:通过完成一些小型项目来巩固所学知识,例如...

    C语言编程基础(含源码)

    C语言编程基础是计算机科学中的一个关键领域,它是一种强大的、通用的编程语言,被广泛应用于系统编程、软件开发、嵌入式系统等各个领域。本资料包包含的"PDF文档"应该是一份详细的C语言教程,可能涵盖了从基本概念...

    C语言编程手册唐浩强版

    10. **文件操作**:C语言提供了文件操作接口,如fopen、fwrite、fread、fclose等,用于读写磁盘上的文件,是实现数据持久化存储的基础。 11. **编译与链接**:了解编译器的工作原理和链接器的作用,可以帮助我们更...

Global site tag (gtag.js) - Google Analytics