# include <stdio.h>
# include <string.h>
void change(char * p);
void intput_file(char * p);
void printf_file(char * p);
int main(void)
{
char str[50];
printf("请输入字符串:");
gets(str);
change(str);
intput_file(str);
return 0;
}
void change(char * p)
{
strupr(p);
puts(p);
}
void intput_file(char * p)
{
FILE * fp;
char ch;
char str;
if((fp=fopen("1.txt","w+")) == NULL)
{
printf("打开文件出错");
}
fputs(p,fp);
putchar('\n');
printf("是否需要验证文件输入成功(y/n)");
ch=getchar();
if(ch == 'y')
{
while(!feof(fp))
{
str=fgetc(fp);
putchar(str);
}
}
fclose(fp);
}
为什么运行起来会死循环的
fseek(fp,0,SEEK_SET); 这句中的 SEEK_SET是什么意思啊
追答int fseek( FILE *stream, long offset, int origin );
第一个参数stream为文件指针
第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移
第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
SEEK_SET: 文件开头
SEEK_CUR: 当前位置
SEEK_END: 文件结尾
其中SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2.
太麻烦了 直接用rewind函数就可以了吧
追答fseek麻烦?
rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET);
原型: void rewind(FILE *stream);
fseek是标准文件操作函数,跟fopen,fclose,fread,fwrite一样。
亲 如果你没有问题了 求采纳~~~