关于C语言的文件函数 关于c语言的文件函数怎么写

C语言文件打开函数

ANSI

创新互联建站是专业的额济纳网站建设公司,额济纳接单;提供成都做网站、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行额济纳网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

C规定文件打开用函数fopen,关闭为fclose。

1、调用方式通常为:

代码如下:

FILE

*fp;

fp=fopen(文件名,

打开方式);

2、参数说明:

文件名:

形如"myfile.dat"、"F:\data\myfile.dat"等等;

打开方式:

"r"(只读)

为输入打开一个文本文件

"w"(只写)

为输出打开一个文本文件

"a"(追加)

向文件文件尾添加数据

"rb"(只读)

为输入打开一个二进制文件

"wb"(只写)

为输出打开一个二进制文件

"r+"(读写)

为读写打开一个文本文件

"w+"(读写)

为读写建立一个新的文本文件

"a+"(读写)

为读写打开一个文本文件

"rb+"(读写)

为读配孙写打开一个二进制文件

"wb+"(读写)

为读写建立一个新的二进制文件

"ab+"(读写)

为读写打开一个二进制文件

3、注意:

(1)用"r"方式打开的文件,不能向其输入数据,并且该文件已存在,否则出错;

(2)用"w"方式打开的文件,只能向该文件输入数据,如果所运御打开的文件不存在,则在打开时新建一个以指定的名字命名的文件;如果指定文件存在,则在打开时将该文件删去,然后新建一个新的文件;

(3)如果函数fopen打开文件出错,则fopen返回一个空指针值NULL;

(4)在程序开始运行时,系统自动打开3个标准文件:标准输入(stdin),标准输出(stdout),标准出错输

出(stderr)。如果要使用输入输出终端,则不需要打开,可以直接使用,如旁卖岩fputc(stdout,'a');向屏幕输出字符a。

c语言库函数的打开文件函数

c语言标准库中用于打开文件的函数是fopen()。

函数原型:FILE

*

fopen(const

char

*

path,const

char

*

mode);

 

参数说明:path指明要打开的文件名,mode指明以什么方式打开。详细在下面介绍。

返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno

中。示例如下

#includestdio.h

//根据需要修改成自己要打开的文件即可。

#define F_PATH "d:\\myfile\\file.dat"

int main(void)

{

FILE *fp=NULL;//需要注意

fp=fopen(F_PATH,"r"); //以只读方式打开一个文件

if(NULL==fp)

{

return -1;//要返回错误代码

}

fclose(fp); //打开一个文件停止操作后,要关闭打开的文件

fp=NULL;//需要指向空,否则会指向原打开文件地址

return 0;

}

参数mode的类型:

r

以只读方式打开文件,该文件必须存在。

r+

以可读写方式打开文件,该文件必须存在。

rb+

读写打开一个二进制文件,允许读写数据,如喊文件必须存在。

w

打开只写文件,若文件存在则文件长度渣举野清为0,即该文件内容会消失。若文件不存答肆在则建立该文件。

w+

打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a

以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

a+

以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

(原来的EOF符不保留)

wb

只写打开或新建一个二进制文件;只允许写数据。

wb+

读写打开或建立一个二进制文件,允许读和写。

ab+

读写打开一个二进制文件,允许读或在文件末追加数据。

C语言常用的函数有哪些

C语言库函数,常用库函数有:

1、scanf格式输入函数

2、printf格式输出函数

3、systemdos命令函数

4、sort排序

5、main主函数

6、fgets文件读取字符串函数

7、fputs文件写入字符串函数

8、fscanf文件格式读取函数

9、fprintf文件格式写入函数

10、fopen打开文件函数

11、getchar输入字符函数

12、putchar输出字符函数

13、malloc动态申请内存函数

14、free释放内存函数

15、abs求绝对值数学函数

16、sqrt求平方根数学函数

扩展资料

语言组成:

1、数据类型

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2、常量与变量

常量其值不可改变,符号常量名通常用大写。

变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划高物线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必戚袭液须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

3、数组

如果一个变量名后面跟着一禅配个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

4、指针

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。

参考资料来源:百度百科-函数

C语言文件函数

//要另外说下如fprintf(stderr, "Can't open %s\n", file_app);这是向文件或者系统设备输出的函数;但他的文件指针为stderr;这是c中的标准错误输出设备指针,系统自动分配为显示激饥器故相当于printf("Can't open %s\n", file_app);

#include stdio.h

#include stdlib.h

#include string.h

#define BUFSIZE 1024

#define SLEN 81

void append(FILE *source, FILE *dest);

int main(void)

{

FILE *fa, *fs; //定义2个文件类型指针

int files = 0; // 追加文件个数

char file_app[SLEN];

char file_src[SLEN]; // 2个字符串用来储存文件名;

puts("Enter name of destination file:");//输出Enter name of destination file:

gets(file_app);//输入要追加的文件名

if ((fa = fopen(file_app, "a")) == NULL)//fa指向追加的目的文件,以追加方式打开文件,如果打开失败退出;

{

fprintf(stderr, "Can't open %s\n", file_app);

exit(2);

}

if (setvbuf(fa, NULL, _IOFBF, BUFSIZE) != 0)//创建缓冲器与流相关,大小为BUFSIZE,作用是提高IO速度;如果打开睁局失败退出

{

fputs("Can't create output buffer\n", stderr);

exit(3);

}

puts("Enter name of first source file (empty line to quit):");//输出Enter name of first source file (empty line to quit):

while (gets(file_src) file_src[0] != '\0')//输入源文件如果是空串结束循环

{

if (strcmp(file_src, file_app) == 0)//如果源和追加文件相同

fputs("Can't append file to itself\n",stderr);

else if ((fs = fopen(file_src, "r")) == NULL)//如果打开源文件失败

fprintf(stderr, "Can't open %s\n", file_src);

else

{

if (setvbuf(fs, NULL, _IOFBF, BUFSIZE) != 0)//创建缓冲器与流相关,大小为BUFSIZE,作用是提高IO速度;如果打开失败开始下次循环

{

fputs("Can't create input buffer\n",stderr);

continue;

}

append(fs, fa);//明早返函数

if (ferror(fs) != 0)//检查文件操作是否有错

fprintf(stderr,"Error in reading file %s.\n",

file_src);

if (ferror(fa) != 0)

fprintf(stderr,"Error in writing file %s.\n",

file_app);

fclose(fs);//关闭源文件

files++;//追加文件数+1

printf("File %s appended.\n", file_src);

puts("Next file (empty line to quit):");

}

}

printf("Done. %d files appended.\n", files);

fclose(fa);//关闭追加文件

return 0;

}

void append(FILE *source, FILE *dest)

{

size_t bytes;

static char temp[BUFSIZE];

while ((bytes = fread(temp,sizeof(char),BUFSIZE,source)) 0)//把源文件的内容追加到追加文件,块大小sizeof(char),块数为BUFSIZE

fwrite(temp, sizeof (char), bytes, dest);//写文件块大小sizeof(char),块数为BUFSIZE

}


当前题目:关于C语言的文件函数 关于c语言的文件函数怎么写
文章网址:http://hbruida.cn/article/ddpecdd.html