C库文件操作相关函数

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

filename 打开的文件名 mode 打开模式

返回文件指针

size_t fread(void *ptr, size_t size, size_t, 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)

从指定文件中读取一个字符
例子 1:

#include <stdio.h>
#include
<stdlib.h>
int main(void)
{
FILE
*fp;
char ch;
if((fp = fopen("test.txt","rt")) == NULL)
{
printf(
"file open error!");
exit(
1);
}
ch
= fgetc(fp);
while(ch != EOF)
{
putchar(ch);
ch
= fgetc(fp);
}
fclose(fp);
}


int fputc(int c, FILE *stream)
向指定的文件中写入一个字符
例子 2:
#include <stdio.h>
#include
<stdlib.h>
int main(void)
{
FILE
*fp;
char ch;
if((fp = fopen("test.txt","wt+")) == NULL)
{
printf(
"file open error!");
exit(
1);
}
printf(
"Please enter a string\n");
ch
= getchar();
while(ch != '\n')
{
fputc(ch, fp);
ch
= getchar();
}
fclose(fp);
}


fscanf(FILE *stream, char *format [,argument...])
从一个流中进行格式化输入
#include <stdlib.h>
#include
<stdio.h>
int main(void)
{
int i;
printf(
"Please enter an interger:");
if(fscanf(stdin, "%d",&i)) //从标准输入流读取
printf("The interger is :%d\n",i);
return 0;
}

int fprintf(FILE *stream, char *format[,argument...])
格式化输出到一个流中
#include <stdio.h>
#include
<stdlib.h>
int main(void)
{
FILE
*stream;
int i = 10;
double fp = 1.5;
char s[] = "hello world";
char c = '\n';
stream
= fopen("fprint.out", "w");
fprintf(stream,
"%s%c", s, c);
fprintf(stream,
"%d\n", i);
fprintf(stream,
"%f\n", fp);
fclose(stream);
return 0;
}

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

设置文件指针whence :

SEEK_SET:从文件的开始处开始搜索

SEEK_CUR:从当前位置开始搜索

SEEK_END:从文件结尾处开始搜索

posted @ 2011-04-14 00:05  Moupeng.Yang  阅读(540)  评论(0编辑  收藏  举报