码迷,mamicode.com
首页 > 系统相关 > 详细

linux应用程序开发-文件编程-库函数

时间:2014-12-14 00:34:15      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:io   ar   os   sp   for   on   文件   数据   bs   

---恢复内容开始---

c库函数文件操作独立于具体的系统平台,可移植性较好。

库函数-创建和打开

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

mode:打开模式

常见的打开模式:

r,rb:只读方式打开

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

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

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

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

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

b用于区分二进制文件和文本文件,这一点在DOS,window中区分,LINUX不区分二进制文件盒文本文件。

库函数-读

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

读字符:

int fgetc(FILE*stream);

 

 

---恢复内容结束---

c库函数文件操作独立于具体的系统平台,可移植性较好。

库函数-创建和打开

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

mode:打开模式

常见的打开模式:

r,rb:只读方式打开

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

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

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

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

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

b用于区分二进制文件和文本文件,这一点在DOS,window中区分,LINUX不区分二进制文件盒文本文件。

size_t fread(void*ptr,size_t size,size_t n,file *stream);

写:

size_t fwrite(void*ptr,size_t size,size_t n,file *stream);

读字符

int fgetc(FILE*stream);

举例:

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

  while(ch!=EOP)

  {

    putchar(ch);

    ch=fgetc(fp);

  }

  fclose(fp);

}

写字符

int fputs(inyt c,FILE*stream)

举例:

#include<stdio.h>

main()

{

  FILE*fp;

  char ch;

  if((fp=fopen("string","w+"))==NULL)

{

  printf("\nCannot open file ,strike any key exit");

  getch();

  exit(1);

}

  printf("input a string:\n");

  ch=fgetchar();

  while(ch!=‘\n‘)

  {

    fputc(ch,fp);

    ch=getchar();

  }

  printf("\n");

  fclose(fp);

}


格式化读:

fscanf(FILE*stream,char*format[,argument...])

从一个流中格式化输入

#include<stdlib.h>

#include<stdio.h>

int mian(void)

{

  int i;

  printf("input an interger:");

  if(fscanf(stdin,"%d",&i))

  printf("The integer read was:%i\n",i);

  

}

格式化写:

fprintf(FILE*stream,char*format[,argument...])

格式化输出从到一个流中

#include<stdlib.h>

#include<process.h>

FILE*stream;

int mian(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);

     fprintf(stream,"%d\n",i);

     fprintf(stream,"%f\n",fp);

  fclose(stream);

  

}

定位:

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

whence:

SEEK_SET

SEEK_CUR

SEEK_END

路径获得:

char*getcwd(char*buffer,size_t size);

把路径copy到buffer中,buffer如果太小,返回-1;

创建目录:

int  mkdir(char*dir,int mode);

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

 

linux应用程序开发-文件编程-库函数

标签:io   ar   os   sp   for   on   文件   数据   bs   

原文地址:http://www.cnblogs.com/summer-xwq/p/4161970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!