c语言文件读写

C语言文件读写

算法

1.fseek()函数

此函数用于移动文件指针到指定位置。例如,要将文件指针移动到文件的第5个字节处,您可以使用以下代码:

fseek(fp, 5, SEEK_SET); // 将文件指针移动到第5个字节

其中,第二个参数是移动的字节数,第三个参数指定移动的起始位置。

2.ftell()函数

此函数用于获取文件指针的当前位置。例如:

long pos;
pos = ftell(fp); // 获取当前位置

此函数返回一个长整型值,表示文件指针的当前位置。

3. freopen()函数

此函数用于重新打开文件,并将其关联到另一个文件流。例如,要将文件指针fp关联到一个名为"output.txt"的文件,您可以使用以下代码:

fp = freopen("output.txt", "w", stdout); // 将stdout(标准输出)关联到output.txt文件

此函数将文件指针fp重新打开,并将其与stdout流关联,以便将输出写入文件而不是控制台。

4. remove()函数

此函数用于删除指定的文件。例如,要删除名为"example.txt"的文件,您可以使用以下代码:

remove("example.txt"); // 删除文件

5.rename()函数

此函数用于重命名文件。例如,要将名为"oldname.txt"的文件重命名为"newname.txt",您可以使用以下代码:

rename("oldname.txt", "newname.txt"); // 重命名文件

6.temfile()函数

此函数用于创建一个临时文件。例如,要创建一个临时文件,您可以使用以下代码:

FILE *fp;
fp = tmpfile(); // 创建临时文件

该函数将创建一个二进制文件,并返回一个指向该文件的文件指针。当程序退出时,临时文件将自动被删除。

7.setbuf()函数

此函数用于为文件流设置缓冲区。例如,要为文件指针fp设置一个8192字节的缓冲区,您可以使用以下代码:

char buffer[8192];
setbuf(fp, buffer); // 为文件流设置缓冲区

8.fflush()函数

此函数用于将缓冲区中的数据写入文件。例如,要将文件指针fp的缓冲区中的数据写入文件,您可以使用以下代码:

fflush(fp); // 将缓冲区中的数据写入文件

文本文件

1. fopen()函数

此函数用于打开文件,并返回一个文件指针。您可以使用文件指针来读取或写入文件。例如,要打开一个名为"example.txt"的文件,您可以使用以下代码:

FILE *fp;
fp = fopen("example.txt", "r"); // 打开文件

2. fclose()函数

此函数用于关闭文件。当您完成对文件的操作时,应使用fclose()函数将其关闭。例如:

fclose(fp);// 关闭文件

3. fgetc()函数

此函数用于从文件中读取一个字符。例如:

int c;
c = fgetc(fp); // 读取一个字符

4. fputs()函数

此函数用于将一个字符写入文件。例如:

fputc('A', fp); // 将字符'A'写入文件

5. fgets()函数

此函数用于从文件中读取一行文本。例如:

char buf[100];
fgets(buf, 100, fp); // 读取一行文本

6. fputs()函数

此函数用于将一行文本写入文件。例如:

fputs("Hello, world!", fp); // 将一行文本写入文件

7.fprintf()函数

此函数用于将格式化的文本写入文件。例如:

int x = 10;
fprintf(fp, "The value of x is %d", x); // 将格式化的文本写入文件

二进制文件

1. fread()函数

此函数用于从文件中读取一定数量的数据。例如,要从文件中读取10个整数,您可以使用以下代码:

int data[10];
fread(data, sizeof(int), 10, fp); // 读取10个整数

其中,第一个参数是数据的存储位置,第二个参数是数据类型的大小,第三个参数是要读取的数据数量,第四个参数是文件指针。

2.fwrite()函数

此函数用于将一定数量的数据写入文件。例如,要将10个整数写入文件,您可以使用以下代码:

int data[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
fwrite(data, sizeof(int), 10, fp); // 写入10个整数
posted @ 2023-02-16 11:18  zhywyt  阅读(134)  评论(0编辑  收藏  举报