设置参数 fp的Stream的当前位置为文件的开头 void rewind(FILE *stream) 设置文件位置为给定流 stream 的文件的开头。 stream -- 这是指向 FILE 对象的指针,该FILE 对象标识了流。 该函数不返回任何值 #includeint main() { char str[] = "Hello Everyone in the World"; FILE *fp; int ch; /* 首先让我们在文件中写入一些内容 */ fp = fopen( "file.txt" , "w" ); fwrite(str , 1 , sizeof(str) , fp ); fclose(fp); fp = fopen( "file.txt" , "r" ); while(1) { ch = fgetc(fp); if( feof(fp) ) { break ; } printf("%c", ch); } rewind(fp); //设置参数 fp的Stream的当前位置为文件的开头 printf("\n"); while(1) { ch = fgetc(fp); if( feof(fp) ) { break ; } printf("%c", ch); } fclose(fp); return 0; } 打印结果: Hello Everyone in the World Hello Everyone in the World17.void setbuf(FILE *stream, char *buffer) void setbuf(FILE *stream, char *buffer) 定义流 stream 应如何缓冲。 该函数应在与流 stream 相关的文件被打开时,且还未发生任何输入或输出操作之前被调用一次 stream -- 这是指向 FILE 对象的指针,该FILE 对象标识了一个打开的流。 buffer -- 这是分配给用户的缓冲,它的长度至少为 BUFSIZ 字节,BUFSIZ 是一个宏常量,表示数组的长度。 #includeint main() { char buf[BUFSIZ]; setbuf(stdout, buf); // 设置 缓存 puts("This is w3cschool"); fflush(stdout);