1、库函数-创建和打开
FILE *fopen(const char *filename,const char *mode)
△:filename:
打开的文件包(包含路径,其中缺省为当前路径)
△:mode:
常见的打开模式:
▲:r,rb 只读方式打开
▲:w,wb 只写方式打开,如果文件不存在,则创建该文件
▲:a,ab 追加方式打开,如果文件不存在,则创建该文件
▲:r+,r+b,rb+ 读写方式打开
▲:w+,w+b,wb+ 读写方式打开,如果文件不存在,则创建该文件
▲: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)
功能:
从指定的文件读一个字符。
5、库函数-写字符
int fputc(int c,FILE *stream)
功能:
向指定的文件中写入一个字符。
6、库函数-格式化读
fscanf(FILE *stream,char *format[,argument...])
功能:
从一个流中进行格式化输入。
例如:
8、库函数-定位
int fseek(FILE *stream,long offset,int whence)
whence:
SEEK_SET: 从文件的开始处搜索
SEEK_CUR: 从当前位置开始搜索
SEEK_END: 从文件结尾处开始搜索
9、路径获取
在编写程序的时候,有时候需要得到当前路径。
char *getcwd(char *buffer,size_t size)
这里提供一个size大侠的buffer,getcwd会把当前的路径名copy到buffer中,
如果buffer太小,函数会返回-1.
例程:
#include <sys/stat.h>
int mkdir(char *dir,int mode)
功能:
创建一个目录
返回值:
0表示成功,-1表示出错。
FILE *fopen(const char *filename,const char *mode)
△:filename:
打开的文件包(包含路径,其中缺省为当前路径)
△:mode:
常见的打开模式:
▲:r,rb 只读方式打开
▲:w,wb 只写方式打开,如果文件不存在,则创建该文件
▲:a,ab 追加方式打开,如果文件不存在,则创建该文件
▲:r+,r+b,rb+ 读写方式打开
▲:w+,w+b,wb+ 读写方式打开,如果文件不存在,则创建该文件
▲: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 <stdio.h>
int 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)
功能:
向指定的文件中写入一个字符。
例如:
#include <stdio.h>
int main()
{
FILE *fp;
char ch;
if((fp=fopen("string","wt+))==NULL)
{
printf("Cannot open file, strike any key exit!");
getch();
exit(1);
}
printf("input a string:\n");
ch=getchar();
while(ch!='\n')
{
fputc(ch,fp);
ch=getchar();
}
printf("\n");
fclose(fp);
}
6、库函数-格式化读
fscanf(FILE *stream,char *format[,argument...])
功能:
从一个流中进行格式化输入。
例如:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int i;
printf("Input an integer:");
if(fscanf(stdin,"%d",&i))
printf("The integer read was: %i\n",i);
return(0);
}
7、库函数-格式化写
int fprintf(FILE *stream,char *format[,argument,..])
功能:
格式化输出到一个流中
例程:
#include <stdio.h>
#include <process.h>
FILE *stream;
int main()
{
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);
}
8、库函数-定位
int fseek(FILE *stream,long offset,int whence)
whence:
SEEK_SET: 从文件的开始处搜索
SEEK_CUR: 从当前位置开始搜索
SEEK_END: 从文件结尾处开始搜索
9、路径获取
在编写程序的时候,有时候需要得到当前路径。
char *getcwd(char *buffer,size_t size)
这里提供一个size大侠的buffer,getcwd会把当前的路径名copy到buffer中,
如果buffer太小,函数会返回-1.
例程:
#include <unistd.h>
int main()
{
char buf[80];
getcwd(buf,sizeof(buf));
printf("Current working directory: %s",buf);
}
#include <sys/stat.h>
int mkdir(char *dir,int mode)
功能:
创建一个目录
返回值:
0表示成功,-1表示出错。