C语言rewind()函数(设置文件位置为给定流 stream 的文件的开头)(回到文件开头重读)
Posted Dontla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言rewind()函数(设置文件位置为给定流 stream 的文件的开头)(回到文件开头重读)相关的知识,希望对你有一定的参考价值。
C 标准库 - <stdio.h>
文章目录
描述
C 库函数 void rewind(FILE *stream) 设置文件位置为给定流 stream 的文件的开头。
声明
下面是 rewind() 函数的声明。
void rewind(FILE *stream)
参数
- stream – 这是指向 FILE 对象的指针,该 FILE 对象标识了流。
返回值
该函数不返回任何值。
实例
下面的实例演示了 rewind() 函数的用法。
#pragma warning(disable : 4996)
#include <stdio.h>
int main()
char str[] = "This is test";
//char str[] = "1234";
FILE* fp;
int ch;
/* 首先让我们在文件中写入一些内容 */
fp = fopen("file.txt", "w");
fwrite(str, 1, sizeof(str), fp); //(写的内容, 每次写的字节,写的次数,写入目标文件)
//fwrite(str, 1, sizeof(str), fp);
//fwrite(str, 2, sizeof(str)/2, fp); //(写的内容, 每次写的字节,写的次数,写入目标文件)
fclose(fp);
fp = fopen("file.txt", "r");
while (1)
ch = fgetc(fp);
if (feof(fp))
break;
printf("%c", ch);
rewind(fp); //回到文件开头
printf("\\n");
while (1)
ch = fgetc(fp);
if (feof(fp))
break;
printf("%c", ch);
fclose(fp);
return(0);
VS上编译运行结果:
This is test
This is test
F:\\Arnold_Test\\20211223_jsonTest\\jsonTest\\Debug\\jsonTest.exe (进程 60852)已退出,代码为 0。
VS上写文件就是会在后面加\\r\\n
,反正可能会导致一些问题
以上是关于C语言rewind()函数(设置文件位置为给定流 stream 的文件的开头)(回到文件开头重读)的主要内容,如果未能解决你的问题,请参考以下文章