c语言文件读写

C语言文件读写

算法

1.fseek()函数

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

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

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

2.ftell()函数

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

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

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

3. freopen()函数

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

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

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

4. remove()函数

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

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

5.rename()函数

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

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

6.temfile()函数

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

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

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

7.setbuf()函数

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

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

8.fflush()函数

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

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

文本文件

1. fopen()函数

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

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

2. fclose()函数

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

1
fclose(fp);// 关闭文件

3. fgetc()函数

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

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

4. fputs()函数

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

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

5. fgets()函数

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

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

6. fputs()函数

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

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

7.fprintf()函数

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

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

二进制文件

1. fread()函数

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

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

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

2.fwrite()函数

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

1
2
int data[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
fwrite(data, sizeof(int), 10, fp); // 写入10个整数
文章目录
  1. 1. C语言文件读写
    1. 1.1. 算法
      1. 1.1.1. 1.fseek()函数
      2. 1.1.2. 2.ftell()函数
      3. 1.1.3. 3. freopen()函数
      4. 1.1.4. 4. remove()函数
      5. 1.1.5. 5.rename()函数
      6. 1.1.6. 6.temfile()函数
      7. 1.1.7. 7.setbuf()函数
      8. 1.1.8. 8.fflush()函数
    2. 1.2. 文本文件
      1. 1.2.1. 1. fopen()函数
      2. 1.2.2. 2. fclose()函数
      3. 1.2.3. 3. fgetc()函数
      4. 1.2.4. 4. fputs()函数
      5. 1.2.5. 5. fgets()函数
      6. 1.2.6. 6. fputs()函数
      7. 1.2.7. 7.fprintf()函数
    3. 1.3. 二进制文件
      1. 1.3.1. 1. fread()函数
      2. 1.3.2. 2.fwrite()函数
|