Tiny6410学习ing—文件编辑(库函数访问文件)

1、库函数-创建和打开
FILE *fopen(const char *filename,const char *mode)
△:filename:
打开的文件包(包含路径,其中缺省为当前路径)
△:mode:
常见的打开模式:
▲:r,rb            只读方式打开
▲:w,wb            只写方式打开,如果文件不存在,则创建该文件
▲:a,ab            追加方式打开,如果文件不存在,则创建该文件
▲:r+,r+b,rb+      读写方式打开
▲:w+,w+b,wb+      读写方式打开,如果文件不存在,则创建该文件
▲:a+,a+b,ab+      读和追加方式打开,如果文件不存在,则创建该文件
注意:
b用于区分二进制文件和文本文件,这一点在DOS、Windows操作系统中是有区分的,但是在Linux不区分二进制文件和文本文件。
2、库函数-读
size_t fread(void *ptr,size_t size,size_t n,FILE *stream)
功能:
从stream指向的文件中读取n个字段,每个字段为size字节,并将读取的数据放入ptr所指向的字符数组中,返回值为实际读取的字节数。
3、库函数-写
size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream)
功能:
从缓冲区ptr所指向的数组中把n个字段写到stream所指向的文件中,每个字段长为size个字节,返回值为是实际写入的字节数。
4、库函数-读字符
int fgetc(FILE *stream)
功能:
从指定的文件读一个字符。

例如:

#include <stdio.h>
int main()
{
    FILE *fp;
    char ch;
    if((fp=fopen("c1.txt","rt"))==NULL)
    {
         printf("\nCannot open file strike any key exit!");
         getch();
         exit(1);
     }
     ch=fgetc(fp);
     while(ch!=EOF)
     {
         putchar(ch);
         ch=fgetc(fp);
     }
     fclose(fp);
}

5、库函数-写字符
int fputc(int c,FILE *stream)
功能:
向指定的文件中写入一个字符。

例如:

#include <stdio.h>
int main()
{
    FILE *fp;
    char ch;
    if((fp=fopen("string","wt+))==NULL)
    {
        printf("Cannot open file, strike any key exit!");
        getch();
        exit(1);
     }
     printf("input a string:\n");
     ch=getchar();
     while(ch!='\n')
     {
         fputc(ch,fp);
         ch=getchar();
     }
     printf("\n");
     fclose(fp);
}

6、库函数-格式化读
fscanf(FILE *stream,char *format[,argument...])
功能:
从一个流中进行格式化输入。
例如:
#include <stdlib.h>
#include <stdio.h>
int main()
{
   int i;
   printf("Input an integer:");
   if(fscanf(stdin,"%d",&i))
       printf("The integer read was: %i\n",i);
   return(0);
}


7、库函数-格式化写
int fprintf(FILE *stream,char *format[,argument,..])
功能:
格式化输出到一个流中
例程:

#include <stdio.h>
#include <process.h>
FILE *stream;
int main()
{
   int i=10;
   double fp=1.5;
   char s[]="This is a string";
   char c='\n';
   stream=fopen("fprintf.out","w");
   fprintf(stream,"%s%c",s,c);
   fprintf(stream,"%d\n",i);
   fprintf(stream,"%f\n",fp);
   fclose(stream);
}

8、库函数-定位
int fseek(FILE *stream,long offset,int whence)
whence:
SEEK_SET:      从文件的开始处搜索
SEEK_CUR:      从当前位置开始搜索
SEEK_END:      从文件结尾处开始搜索
9、路径获取
在编写程序的时候,有时候需要得到当前路径。
char *getcwd(char *buffer,size_t size)
这里提供一个size大侠的buffer,getcwd会把当前的路径名copy到buffer中,
如果buffer太小,函数会返回-1.
例程:
#include <unistd.h>
int main()
{
    char buf[80];
    getcwd(buf,sizeof(buf));
    printf("Current working directory: %s",buf);
}


10、创建目录
#include <sys/stat.h>
int mkdir(char *dir,int mode)
功能:
创建一个目录
返回值:
0表示成功,-1表示出错。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值