文件操作 c

文件使用方式含义
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 ()
{
  FILE *fp;
  if (fp = fopen("LH.txt", "r"))  // 注意用的是r,所以放源码的文件中要存在所找文件
  {
   printf("Open success!\n");
  }
  else
  {
   printf("Can not open LH !\n");
   system("pause");
   return 1;
  }
  fclose(fp); 				//关闭文件
  fp=NULL;
  return 0;
}
/*文件写入*/
#include<stdio.h>
#include<stdlib.h>
int main ()
{
 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);        //关闭文件,有始有终嘛
  fp=NULL;
  return 0;
}
/*文件读出*/
#include<stdio.h>
#include<stdlib.h>

int main ()
{
  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);         //有始有终才好
   fp=NULL;
   return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值