Chinaunix首页 | 论坛 | 博客
  • 博客访问: 80825
  • 博文数量: 21
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-06 11:07
个人简介

呵呵

文章分类
文章存档

2016年(1)

2015年(10)

2014年(10)

我的朋友

分类: LINUX

2014-11-14 21:02:04

C库函数的文件操作是独立于操作系统平台的,不管时在DOS,WINDOWS,Linux还是在VXWORKS中都是这些函数。
1 库函数-创建和打开
FILE *fopen(const char *filename,const char *mode)
*filename: 打开的文件名(包含路径,缺省为当前路径)
*mode: 打开模式
常见打开模式:
r, rb 只读方式打开
w, wb 只写方式打开,如果文件不存在,则创建该文件
a, ab 追加方式打开,如果文件不存在,则创建该文件
r+ ,r+b, rb+ 读写方式打开
w+,w+b,wh+ 读写方式打开,如果文件不存在,则创建该文件
a+,a+b,ab+ 读和追加方式打开,如果文件不存在,则创建该文件
b 用于区分二进制文件和文本文件,这一点在DOS、Windows系统中是有区别的,但是Linux不区分二进制文件和文本文件。
2 库函数-读
size_t fread(void *ptr, size_t size,size_t n, FILE *stream)
功能:
从stream指向的文件中读取n个字段,每个字段为size字节,并将读取的数据放入ptr所指向的字符数组中,返回实际已读取的字节数。
3 库函数-写
size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream)
功能:
从缓冲区ptr所指的数组中把n个字段写到stream指向的文件中,每个字段长为size个字节,返回世界写入的字段数。
4 库函数-读字符
int fgetc(FILE *stream)
从指定的文件中读一个字符
#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);
while(ch != EOF)
{
     putchar(ch);
     ch=fgetc(fp);
}
fclose(fp);
}

5 库文件-写字符
int fputc(int c, FILE *stream)
向指定的文件写入一个字符。

6 库函数-格式化读

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

 
7 库函数-格式化写

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

8 库函数-文件定位
int fseek(FILE *stream, long offset, int whence)
whence:
SEEK_SET从文件的开始处开始搜索
SEEK_CUR从当前位置开始搜索
SEEK_END从文件的结束处开始搜索

9 库函数-路径获取

在编写程序的时候,有时候需要得到当前路径。C库函数提供了getcwd来解决这个问题。
char * getcwd(char *buffer, size_t size)
我们提供一个size大小的buffer, getcwd会把当前的路径名copy到buffer中。如果buffer太小,函数会返回-1。

10 库函数-创建目录
#include
Int mkdir(char *dir ,int mode)
功能:创建一个新目录。
返回值:0表示成功。-1表示出错。

11 库函数-读取字符串

fgets(由文件中读取一字符串,也可以从屏幕上输入一字符串,见范例。) 
  相关函数 
  open,fread,fscanf,getc 
  表头文件 
  include 
  定义函数 
  char * fgets(char * s,int size,FILE * stream); 
  s,数据存储位置;size,读取字符串的最大数量;stream,指向FILE结构的指针。 
  函数说明 
  fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为止,最后会加上NULL作为字符串结束。
  返回值 
  fgets()若成功则返回s指针,返回NULL则表示有错误发生。 
  范例 
  #include 
  int main(void) 
  { 
  char s[80]; 
  fputs(fgets(s,80,stdin),stdout); 
  return 0; 
  } 
  执行 
  this is a test /*输入*/ 
  this is a test /*输出*/

12 库函数-写入字符串

函数名: fputs 
  功 能: 送一个字符串到一个流中 
  用 法: int fputs(char *string, FILE *stream); 
  参数: string是要写入文件的字符串。 
  stream 很明显是一个FILE对象。 
  程序例: 
  #include  
  int main(void) 
  { 
  FILE *fpout=fopen("1.txt","wr");// 
  /* write a string to standard output */ 
  fputs("Hello world\n", fpout); 
  return 0; 
  }

阅读(945) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:格式化读写函数:fprintf()和fscanf()

给主人留下些什么吧!~~