c语言文件操作

文件的打开和关闭

函数原型:FILE *fopen(char *filenname,char *type)

参数filename为文件名,参数type为对所打开文件的操作方式

type               含义                           文件不存在时                文件存在时

   r                   只读                            返回错误标识                   打开文件

  w                  只写                             建立新文件                       打开文件,原文件内容清空

  a                   追加                             建立新文件                       打开文件,只能从文件尾追加数据

  r+                 读/写                            返回错误标识                  打开文件

 w+                 读/写                           建立新文件                       打开文件,原文件内容清空

文件的正确打开方式

代码实例:

 1 #include <stdio.h>
 2 int main(int argc,char **argv
 3 {
 4     FILE *fp;
 5     fp = fopen("filename","w");
 6     if(fp == NULL)
 7         printf("error") ;
 8     else
 9         printf("open file ok")            
10 }

在打开文件时要对文件是否打开成功进行检测。

文件的顺序读写

文件的顺序读写是指文件被打开后,按照数据流的先后顺序对文件进行读写操作,每读写一次后,文件指针自动指向下一个读写位置。

1 字符读写函数

从文件中读取一个字符

int fget(FILE *stream)

该函数的调用形式

ch = fget(fp)

作用:从fp所指的文件中读取一个字符,赋予变量ch,当读到文件尾时或读出错时,返回-1

向文件写一个字符

char fputc(char ch,FILE *fp)

该函数的调用形式

fputc(ch,fp)

作用:把字符变量写到文件指针所指的文件中,若写入成功则返回写入的字符变量,若出错则返回-1

代码实例

 1 #读取本地文件内容,并打印在终端
 2 #include<stdio.h>
 3 int mian(int argc,char **argv)
 4 {
 5 FILE *fp;
 6 char ch;
 7 fp = fopen("filename","w");
 8 if(fp  == NULL)
 9     printf("error");
10     return -1;
11 else
12     while((ch = fgetc(fp)) != -1)
13        putchar(ch);
14     fclose(fp);    
15 }
#从键盘输入至文件中
#include <stdio.h>
int main(int argc,char **argv)
{
FILE *fp;
char ch;
fp = fopen("filenanme","w");
if(fp == NULL)
    printf("error");
else{
    while((ch = getchar())!= EOF)
        fputc(fp);
    fclose(fp);
    }
}

字符串读写函数

从文件中读取字符串:char *fgets(char *string,int n,FILE *stream)

作用:从fp所指文件中读取n-1个字符,放到以str为起始位置的存储空间,str可以是一个字符组数组名

向文件中写入字符串:int fputs(char *str,FILE *stream)

作用将str所指的字符串输出到文件中

代码实例

         

笨鸟先飞
原文地址:https://www.cnblogs.com/zoutingrong/p/12872109.html