关于文件函数的简单使用,以及如何创建一个简单的vi编辑器

读文件:

      #include <stdio.h>

      Int fgetc(FILE *stream);

功能:从stream指定文件中读取一个字符

参数:

      Stream:文件指针

//将一个字符从文件中读出

char ch = fgetc(fp);

printf("%c\n", ch);

//文件的指针没有发生改变

//而是文件的光标发生率为改变

//从而输出下一个字符

char ch = fgetc(fp);

printf("%c\n", ch);

 

 

关于读取整个文件内容:

//读取文件结尾  结束标志  EOF -1

char ch

while ((ch = fgetc(fp)) != EOF)

{

printf("%c\n", ch);

}

 

 

按照行读写文件 fgetsfputs

  1. 写文件:

#include <stdio.h>

Int fputs(const char *str,FILE *stream);

功能:将str指定的字符串写入到stream指定的文件中,字符串结束符’\0’不写入文件

参数:

     Str:字符串

     Stream:文件指针

 

 

  1. 读文件:

#include <stdio.h>

Char *fgets(char *str,int size,FILE *stream);

功能:从stream指定的文件内读入字符,保存到str指定的内存空间,直到出现换行字符,读到文件结尾或是以读了size -1个字符位置,最后会自动加上字符’\0’作为字符串结束

参数:

Str:字符串

Size:指定最大读取字符串的程度(size-1

Stream:文件指针

 

 

 

 

关于vi编辑器://编号是按照顺序排列,不必在意数字

 

  1. 指定一个文件

 

Char filename[256];

 

Printf(“请输入一个文件名:\n”);

 

Scanf(“%s”,filename);

 

注意:用来接受换行操作

 

getchar();

 

  1. 打开文件

 

FILE *fp=fopen(filename,”w”);

 

  1. 判断文件可用性

 

If(!fp)

 

Return -1;

 

  1. 循环录入内容

 

Char buf[1024];

 

While(1)

 

{

 

  Memset(buf,0,1024);

 

Fgets(buf,1024,stdin);

 

  1. //退出命令

 

//comm=exit

 

If(!strcmp(“comm=exit”,buf,9))

 

{

 

   Break;

 

}

 

 

 

 

 

}

 

  1. 将字符串写入文件中

 

Int i=0;

 

While(buf[i])

 

{

 

Fputc(buf[i++],fp);

 

}

 

  1. 关闭文件

 

Fclose(fp);

 

posted on 2020-01-18 14:16  不冒泡的苏打水  阅读(154)  评论(0编辑  收藏  举报

导航