C语言 文件操作

白昼怎懂夜的黑 提交于 2020-08-05 23:43:24
文件使用方式 含义
r 只读,为输入打开一个文本文件
w 只写,为输出打开一个文本文件
a 追加,向文本文件尾增加数据
rb 只读,为输入打开一个二进制文件
wb 只写,为输出打开一个二进制文件
ab 追加,向二进制文件尾增加数据
r+ 读写,为读取或写入打开一个文本文件
w+ 读写,为读取或写入建立一个新的文本文件
a+ 读写,从文件中读取或写入数据
rb+ 读写,为读或写打开一个二进制文件
wb+ 读写,为读或写建立一个新的二进制文件
ab+ 读写,从二进制文件中读取或写入数据

r: 读 ; w: 写 ; b:二进制 ;+:读写兼备。

文件操作的函数

项目 Value
fopen() 打开文件
fclose() 关闭文件
fseek() 改变文件位置指针的位置
rewind() 使文件位置指针指向开头
ftell() 返回文件位置指针的现在值
feof() 文件末尾时,函数值为真
ferror() 文件操作出错,函数值为真
clearerr() 使feof()与ferror()置零
fget(),getc() 从指定文件中去得一个字符
fputc(),putc() 把字符输出到指定文件
fgets() 从指定文件读取字符串
fputs() 把字符串输出到指定文件
getw() 从指定文件读取一个字
putw() 把一个字输出到指定文件
fread() 从指定文件中读取数据项
fwrite() 把数据项写到指定文件中
fscanf() 从指定文件按格式输入数据
fprintf() 按指定格式将数据写到指定文件中
/*文件查找*/
#include<stdio.h>
#include<stdlib.h>
int  main void()
{
  FILE *fp;
  if (fp = fopen("LH.txt", "r"))  // 注意用的是r,所以放源码的文件中要存在所找文件
  {
   printf("Open success!\n");
  }
  else
  {
   printf("Can not open LH !\n");
   system("pause");
  }
}
/*文件写入*/
#include<stdio.h>
#include<stdlib.h>
int main void()
{
 FILE *p;
 char ch,filename[20];

  printf("Please input the filename you want to write:");
  scanf("%s",filename);

  fp = fopen(filename, "wt+");
  printf("Please input the sentences you want to write: ");
  ch = getchar();     //可以自己尝试一下,如果只写一个会出现什么情况
  ch = getchar();
  while (ch != EOF)   // 按ctrl + z 结束
   {
   fputc(ch, fp);
   ch = getchar();
   }
  fclose(fp);        //关闭文件,有始有终嘛
}
/*文件读出*/
#include<stdio.h>
#include<stdlib.h>

int main void()
{
  FILE *fp;
  char ch='0', filename[20];

  printf("Please input the filename you want to write: ");
  scanf("%s", filename);
  if (!(fp = fopen(filename, "r")))
   {
    printf("Cannot open the file!\n");
    exit(0);   // 终止程序
   }
  else
   {
   printf("Open the file!\n");
   }

   while (ch != EOF)   // 按ctrl + z,结束
  {
    ch = fgetc(fp);    //将文件内容赋给ch
    putchar(ch);       //打印文件内容
   }
   fclose(fp);         //有始有终才好
}



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!