C语言-文件操作

 2024-02-17 05:01:50  阅读 0

文件的操作可以理解为输出端和输入端都是文件。 通常我们的输入和输出都是显示屏。 其实原理是一样的。 数据首先写入存储器,然后从存储器写入终端(显示器或文件)。

文件操作的主要步骤

1、打开文件,获取要操作的文件的指针。

2. 设置文件指针的位置。 当文件打开时,它默认指向文件的开头。 当文件以追加模式打开时,它指向文件末尾。

3.文件读写

4.关闭文件,切记不要忘记这一步,否则输入输出内容将无法正常保存到文件中,因为计算机在保存文件到文件时,首先将数据写入到缓冲区中。 当缓冲区满了,然后一起写入到文件中,所以如果忘记了,文件内容可能不正确。 也可以在文件写入后刷新如下缓存,()。

#

#

#

#1

#错误-65535

/*如何使用文件

1.r(只读)。 如果使用此方法打开文件,则只能读取文件的内容。 另外,打开的文件必须已经存在。 如果不存在,会提示错误。

2.w(只写)。 如果使用此方法打开文件,则只能向该文件写入数据。 如果打开现有文件,原始文件的内容将首先被删除,并用新文件内容覆盖。 如果打开的文件不存在,则会创建一个具有该名称的文件并写入数据。

3. a(),打开一个文件,将新的内容插入到原内容的末尾。 如果打开的文件不存在,会提示错误。

4.b(二进制文件),通常与r、b、w结合使用,只不过要打开的文件是二进制文件,默认是文本文件。

5.r+(读写),打开一个现有文件,将内容读或写入其中,注意该文件必须已经存在

6. w+(读写),创建一个新文件。 文件可以存在也可以不存在。 如果存在,则先删除原来的源文件内容,然后再写入新的内容。

7. a+(读写),打开一个现有文件,在原内容后面插入新内容

*/

/*文件操作步骤

1、打开文件,返回文件指针 fopen("","mode")

2.操作文件,读写操作fread,,fgets,fputs,fgetc,fputc,,

3. 关闭文件(*fp)

*/

/*文件操作常用函数

1. ch = fgetc(fp),从文件中读取一个字符并返回给ch。 如果遇到文件结束符,则返回EOF(-1)

2、fputc(ch,fp),向文件写入一个字符,将字符ch写入文件中。 如果写入成功,则返回写入的字符; 如果写入失败,则返回EOF(-1)。

注意:打开文件时,文件指针指向开头。 如果读一或写一,指针就会向后移动并到达文件末尾。 有一个文件结束符 EOF。

3. fread(buff,大小,计数,fp); 从文件中读取内容,buff保存从文件中读取的内容,size是单个buff结构体的大小,count表示一次要从文件中读取多少个这样的结构体,fp表示文件指针, size决定每次从文件中读取多少字节

4.(buff、大小、计数、fp); 将内容写入文件,buff保存从文件读取的内容,size是单个buff结构体的大小,count表示一次要从文件中读取多少个结构体,fp表示文件指针, size决定每次从文件中读取多少字节

5.(fp,格式化字符串,输出列表),格式化输出,用法相同,只不过这个是用来格式化内容到磁盘文件,而不是格式化输出到终端。

6.(fp,格式字符串,地址列表),格式化输出,与scanf相同,只不过这个用于从磁盘文件中读取数据并保存到指定地址。

文件定位、文件指针定位

7. (fp):将文件指针指向文件开头

8. fseek(fp, , 文件指针起始位置),根据起始位置偏移文件指针。 文件指针的起始位置有3个:起始位置(0)、当前位置(1)、结束位置(2)

9.ftell(fp),返回文件指针当前位置,相对于文件头位置的偏移量。通过这三个函数组合可以返回文件的字节数。 首先将文件指针放在末尾,然后返回文件指针的位置即可得到文件的大小。

*/

/*以只写模式打开不存在的文件会提示错误*/

#如果0

int main()

文件 *pFile = NULL;

pFile = fopen("./file.txt","r");

if(pFile == NULL)

(“文件打开!\r\n”);

错误;

(p文件);

;

#万一

/*以只读模式打开一个不存在的文件。 如果文件不存在,则会创建一个新文件*/

#如果0

int main()

文件 *pFile = NULL;

pFile = fopen("./file.txt","w");

if(pFile == NULL)

(“文件打开!\r\n”);

错误;

(p文件);

;

#万一

/*打开一个文件。 如果文件不存在,则会创建一个新文件,并向该文件写入一个字符串*/

#如果0

int main()

文件 *pFile = NULL;

char buff[255] = {"你好,这是!\r\n"};

int len ​= (buff);

整数 i = 0;

pFile = fopen("./file.txt","w");

if(pFile == NULL)

(“文件打开!\r\n”);

错误;

格式化的语言_格式化数据c语言_格式化输入输出c语言

/*逐字符写入文件*/

for(i = 0;i < len;i++)

fputc(buff[i],pFile);

(p文件);

;

#万一

/*打开一个现有文件并读取文件中的一个字符*/

#如果0

int main()

文件 *pFile = NULL;

字符增益[100];

整数 i = 0;

字符ch;

pFile = fopen("./file.txt","r");

if(pFile == NULL)

(“文件打开!\r\n”);

错误;

while((ch = fgetc(pFile)) != EOF)

buff[i] = ch;

++我;

如果(我 >= 99)

休息;

buff[i] = '\0';

(“%s”,增益);

(p文件);

;

#万一

/*打开现有文件并向文件写入内容*/

#如果0

int main()

文件 *pFile = NULL;

char buff[255] = {"你好,这是!\r\n"};

pFile = fopen("文件.txt","w");

if(pFile == NULL)

(“打开文件!\r\n”);

格式化的语言_格式化输入输出c语言_格式化数据c语言

错误;

if((buff,10,3,pFile) != 3)//向文件写入10字节数据到缓冲区中,写入3次,表示总共写入了30字节

("写入文件!\r\n");

(p文件);

;

#万一

/*打开现有文件并读取文件内容*/

#如果0

int main()

文件 *pFile = NULL;

字符增益[100];

(增益,0,(增益));

pFile = fopen("文件.txt","r");

if(pFile == NULL)

(“打开文件!\r\n”);

错误;

if(fread(buff,10,2,pFile) != 2)//从文件中读取10字节数据到缓冲区,读取2次,表示总共读取了20字节

("读取文件!\r\n");

(“%s”,增益);

(p文件);

;

#万一

/*通过操作文件指针获取文件中文件的大小*/

#如果1

int main()

int len = 0;

文件 *pFile = NULL;

pFile = fopen("文件.txt","r");

if(pFile == NULL)

(“打开文件!\r\n”);

错误;

fseek(pFile,0,);//将文件指针置于文件开头

fseek(pFile,0,);//将文件指针置于文件末尾

len = ftell(pFile);

("文件长度为%d",len);

;

#万一

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码