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个整数
标签:fp,文件,语言,读写,写入,指针,txt,函数
From: https://www.cnblogs.com/zhywyt/p/17126066.html