2022
我们一起努力

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

库函数-文件访问

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

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

 

一、打开文件

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

Filename:

打开的文件名;

Mode:

打开的模式;

 

常见的打开模式:

R rb 只读方式打开

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

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

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

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);

 

 

}

 

 

 

六、库文件–格式化读

Fscanf(FILE*stream,char *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 fseek(FILE*stream, long offset,int whence)

Whence:

SEEK_set 从文件头开始搜索

SEEK_CUR从当前的位置搜索

SEEK_END 从文件结束处开始搜索

 

 

第八、路径获取

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

Char *getcwd(char*buffer,size_t size)

上面定义一个size大小的buffer,getcwd会把当前的路径名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*dir, int mode)

功能:

创建目录

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

 

在和linuxshell下的操作命令一样

#mkdir hello Scripts


 

 

赞(0)
文章名称:《库函数文件,创建、打开、读写、删除、操作实现》
文章链接:https://www.fzvps.com/104045.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!