今天对以前一直没有掌握的c语言文件编辑做了一个总结:

现在对最基本的几个文件做一个总结;

fopen_s()

1,打开文件我是在vs2017上写的程序,发现对以前的fopen函数已经不再适用。就像scanf,fscanf一样因为存在溢出问题需要加上一个"_s".

fopen_s()

首先定义两个变量:

  1. FILE  *filename文件指针
  2. errno_t nnn

然后打开文件的函数:

  nnn=fopen_s(&filename,"test.txt","a+")

然后判断文件是否打开成功(基础知识:成功打开第二步的函数0,不成功不为0)

  if((nnn=fopen_s(&filename,"test.txt","a+"))!=0)

  {printf("file open failure");

  exit(1);}

2,关闭文件     fclose(filename)

3,写一个字符到文件中         fputc('a',filename)     (若错误会返回EOF)

4写一个字符串到文件中      fputs(str,filename)  (注意这里的str是一个字符串指针,前面有定义 char str[23]="dsgds" 才可以使用;这里的字符串也可以直接用“dfdsgsd”)

5用格式化的方式给文件写东西  fprintf(filename,"%f",var)    (这里就和printf函数有点像了)

6用二进制向一个文件中输入数据 fwrite(buffer,size,count,fp)   (buffer:要存储进入文件数据的起始位置  ,size要读写的字符数,  cout要读写的数据项(每个数据项长度为size)  fp就是上文讲的filename)

对于这个函数我想谈一下感想,这里我自己实验了一下可以打印出一个函数的二进制,你也可以打印出结构体的二进制。作用自己想(‘。’)

 

刚刚是对文件输入,现在谈输出。

3' 输出一个字符     char a=fgetc(filenaem)

4'输出一个字符串 fgets(str ,count,filenaem)  (这里的str表示自己在程序中定义的字符串,count 表示你要读取的字符个数 ,完了后会自动添加‘\0’作为结束符所以一定要注意count的大小不要大于或等于定义的字符串长度)

5‘ 格式化的方式读取文件数据fscanf_s(文件指针,格式字符串,输入表列)

fscanf_s(filename ,"%c",a)

 

posted on 2018-10-19 21:36  小千001  阅读(168)  评论(0)    收藏  举报