库函数文件,创建打开读写删除操作实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了库函数文件,创建打开读写删除操作实现相关的知识,希望对你有一定的参考价值。

库函数-文件访问

上一个博文主要讲了系统调用,接下来就开始库函数调用讲解。

特点:C库函数是独立与操作系统平台存在的,无论在nunixlinux,还是windows操作系统下库函数调用都是一样的。

 

一、打开文件

FILE*fopen(cons char*filename,const char*mode)

Filename:

打开的文件名;

Mode:

打开的模式;

 

常见的打开模式:

                    R rb 只读方式打开

                    W wb 只写方式打开,文件不存在,进行创建.

                    A,ab 追加方式打开,如果文件不存在,则创建文件

                    W+,w+bwh+只读方式打开,如果文件不存在,则创建文件

                    A+ a+b ab+ 读和追加的方式打开。如果文件不存在,则创建改文件

 

库函数的创建和打开

b用于区分二进制文件

 

二、库函数读

Size_t fread(void*ptr,size_t size,size_t n,FILE*stream)

 

功能:

stream指向的文件中读取n个字段,每个字段为size字节,并将读取的数据放入ptr

所指向的字符数组中,返回实际已读的字节数。

 

三、库函数写

Size_t fwrite(void*ptr,size_t size,size_t n,FILE*stream)

 

功能:

从缓冲区ptr所指向的数组中把n个字段写到stream指向的文件中,每个字段长为size

的字节,返回实际写入的字段数。

 

 

四、库函数读字符

从指定的文件中都一个字符

#include<stdio.h>

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);  //获取一个字符,并把字符赋值微微ch

 

wwhile(ch!=EOF)

{

putchar(ch);  //打印该字符

ch=fget(fp);  //继续获取改字符

 

 

}

fclose(fp);

 

 

}

 

 

五、库函数写字符

#include<stdio.h>

main ()

{

 

FILE *fp;

char ch;

if((fp=fopen(c1.txt,wt+)==NULL)

{

printf(\nCANNOT open file strike any key exit);

getch();

exit(1);

}

Printf(input a string:\n);

ch=getchar();  //获取一个字符,并把字符赋值微微ch

 

while(ch!=\n)

{

fputch(ch,fp);  //写字符

ch=getchar();  //继续获取如输入的字符

 

}

Print(\n);

fclose(fp);

 

 

}

 

 

 

六、库文件-格式化读

FscanfFILE*streamchar *format[,argument.....]

#include <stdlib.h>

#include<process.h>

Void main(void)

{

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);  //第一个写入的是字符串,第二个是char

Fprintf(stream,%d\n,i);

 

Fprintf(stream,%f\n,fp);  //浮点型额类型

Fclose(steam);   //关闭指向文件写入

}

 

 

第七、库函数定位

Int fseekFILE*streamlong offset,int whence

Whence:

SEEK_set 从文件头开始搜索

SEEK_CUR从当前的位置搜索

SEEK_END 从文件结束处开始搜索

 

 

第八、路径获取

在编写程序的时候,有时候需要知道路径。

Char *getcwdchar*buffersize_t size

上面定义一个size大小的buffergetcwd会把当前的路径名copy

buffer中,如果buffer太小,函数会返回-1.

 

路径获取实现:

#include<unistd.h>

Main()

{

Char buf[80];

Getcwd(buf,sizeof(buf));

Printf(current working dirctory :%sn,buf);

 

}

第九、创建目录

#include<sys/stat.h>

Int mkdir (char*dirint mode)

功能:

创建目录

返回值:表示成功,-1表示出错。

 

在和linuxshell下的操作命令一样

#mkdir hello Scripts

 

 

以上是关于库函数文件,创建打开读写删除操作实现的主要内容,如果未能解决你的问题,请参考以下文章

把字符串的增删查改,插入以及删除各种操作封装为一个用c代码写的库,代码怎么写,我写不来求教

PHP文件操作函数及文件指针理解

C++编程基础: 14. 文件的读写

open函数

如何用Python打开指定的某个文件夹?比如我要用Python打开D盘里的一个普通文件,该怎么做

Go语言的文件操作:文件的读写,文件的新建打开和删除