1. python问题 def print_all(f): print f.read() def rewind(f): f.seek(0)
第一个函数作用是在屏幕上打印file对象f的内容
第二个函数将f的指针移到起始处,不需要输出任何内容,当然不要print
2. rewind函数的具体实现
12.5.1 rewind函数
文件指针FILE *fp中,包含一个读写位置指针char *_nextc,它指向下一次文件读写的位置。
typedef struct
{
int _fd; /* 文件号 */
int _cleft; /* 缓冲区中剩下的字节数 */
int _mode; /* 文件操作模式 */
char * _nextc; /* 下一个字节的位置 */
char * _buff; /*文件缓冲区位置 */
}FILE;
每当进行一次读写后,该指针自动指向下一次读写的位置。
当文件刚打开或创建时,该指针指向文件的开始位置。
可以用函数ftell()获得当前的位置指针,也可以用rewind()/fseek()函数改变位置指针,使其指向需要
读写的位置。
rewind()函数
原型:void rewind(FILE *fp)
作用:使文件fp的位置指针指向文件开始。
[例12.4] 把一个文件的内容显示在屏幕上,并同时复制到另一个文件。
#include "stdio.h"
void main()
{
FILE *fp1, *fp2;
fp1 = fopen("file1.c", "r"); /* 源文件 */
fp2 = fopen("file2.c", "w"); /* 复制到file2.c */
while(!feof(fp1)) putchar(fgetc(fp1)); /* 显示到屏幕上 */
rewind(fp1); /* fp回到开始位置 */
while(!feof(fp1)) fputc(fgetc(fp1), fp2);
fclose(fp1);
fclose(fp2);
}
3. 关于python的菜鸟问题
defprint_all(f):#定义一个函数print_all,接受一个参数f
printf.read()#这个函数执行f.read()
defrewind(f):#定义一个函数rewind,接受一个参数f
f.seek(0)#f.seek(0)将f的文件指针恢复到文件开头
defprint_a_line(line_count,f):#定义一个函数print_a_line,有两个参数line_count,f
printline_count,f.readline()
print "First let's print the whole file:
"
print_all (current_file) #将current_file作为参数调用函数print_all,执行函数时f等于current_file
其余函数调用都是差不多,就不多说了
4. C中的rewind函数问题
fp=fopen("e:\\file\\five.txt","w");改成"w+"试一下,应该是文件没有按读写方式打开,所以,不能重新定位文件指针。
5. rewind函数
在我的VC环境里是可以的啊!你头文件没有包含全哦!下面是全部代码:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
FILE *fp;
char ch;
if((fp=fopen("string","wt+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
printf("input a string:\n");
ch=getchar();
while (ch!='\n')
{
fputc(ch,fp);
ch=getchar();
}
rewind(fp);
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
printf("\n");
fclose(fp);
}
6. C语言中rewind函数的作用与用法
rewind函数
作用:将文件内部的位置指针重新指向一个流(数据流/文件)的开头。
用 法: void rewind(FILE *stream);
注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。
rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET);[1]
头文件: stdio.h
返回值:无
程序示例:
#include <stdio.h>
#include <dir.h>
int main(void)
{
FILE *fp;
char fname[10] = "TXXXXXX", *newname, first;
newname = mktemp(fname);
fp = fopen(newname,"w+");
if(NULL==fp)
return 1;
fprintf(fp,"abcdefghijklmnopqrstuvwxyz");
rewind(fp);
fscanf(fp,"%c",&first);
printf("The first character is: %c\n",first);
fclose(fp);
remove(newname);
return 0;
}
7. python 灵异事件 求大神解答
因为图1中定义了rewind函数:
def rewind(f):
f.seek(0)
8. rewind函数问题
fp=fopen("11.txt", "r+")
换成这个试一下
9. 你好,我用rewind函数没把指针直到开始,关闭文件然后打开就行。帮忙看看程序怎么回事。
不是rewind有问题,
fp1=fopen("file.txt","w");
这样打开的文件是只写的,当然读不到东西
如果想可读写,需这样打开文件fp1=fopen("file.txt","r+");
建议你学习下fopen 按不同方式打开有什么区别。