您的位置:首页 > 理论基础 > 计算机网络

linux_c 网络开发日记(3)库函数访问文件

2015-07-28 23:14 323 查看

库函数访问文件

c库函数的文件操作是独立于具体的操作系统平台上的,不管是DOS,windows、还是linux 还是在vxwork 中都是这些函数。(用库函数访问文件,可移植性高

库函数-创建和打开

FILE *fopen(const cahr*filename,const cahr*mode)

filename:打开的文件名(包含路径,缺省为当前路径)

mode:打开模式

常见打开模式

r,rb:只读方式打开

w,wb:只写方式打开,如果不存在,则创建该文件

a,ab:追加方式打开,如果

r+,r+b, rb+:读写方式打开

w+,w+b,wh+:读写方式打开如不过不存在则创建该文件

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

b用于区分二进制文件和文本文件,linux系统不区分二进制文件和文本文件。DOS,和windows有区分。

库函数-读

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

功能:从stream指向的文件中读取n个字段,每个字段为size字节,并将读取的数据放入ptr缩值得字符数组中,返回实际已读取的字节数。

库函数-写

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

功能:从缓冲区ptr所指向的数组中吧n个字段写到stream指向的文件中,每个字长为size个字节,返回实际写入的字段数。

int fgetc(FILE *stream):从指定文件读取一个字符

int fputc(int c,FILE*stream):向指定文件写一个字符

fscanf(FILE *stream,char *format[argument...]):从一个流中进行格式化输入

int fprintf(FILE *stream,char* format[argument]):格式化输出到一个流中。

库函数-定位

int fseek(FILE *stream,long offset,int whence

whence:

SEEK_SET:从头搜索

SEEK_CUR:当前位置搜索

SEEK_END:结尾处开始搜素

路径获取:

char *getcwd(cahr *buffer,size_t size)

我们提供一个size大小的buffer,getcwd会把当前的路径名copy到buffer中,如果buffer太小,函数会返回-1.

eg:

#include<stdio.h>

main()

{

char buf[80];

getcwd(buf,sizeof(buf));

printf("current working directory:%s/n",buf);

}

创建目录

#include<sys/stat.h>

int mkdir(char *dir,int mode)

功能:创建一个新目录

返回值:0表示成功,-1表示出错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: