十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
库函数-文件访问
成都创新互联主要从事成都网站建设、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务沙湾,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108上一个博文主要讲了系统调用,接下来就开始库函数调用讲解。
特点: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
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);
}
五、库函数写字符
#includemain ()
{
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
#include
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
Main()
{
Char buf[80];
Getcwd(buf,sizeof(buf));
Printf(“current working dirctory :%sn”,buf);
}
第九、创建目录
#include
Int mkdir (char*dir, int mode)
功能:
创建目录
返回值:表示成功,-1表示出错。
在和linuxshell下的操作命令一样
#mkdir hello Scripts
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。