首页 > 试题广场 >

以下程序的功能是()?

[单选题]
以下程序的功能是()
#include <stdio.h>
int main(void) {
    FILE *fp;
    long int n;
    fp = fopen("wj.txt", "rb");
    fseek(fp, 0, SEEK_END);
    n = ftell(fp);
    fclose(fp);
    printf("%ld", n);
}
  • 计算文件的起始地址
  • 计算文件的终止地址
  • 将文件指针定位到文件末尾
  • 计算文件内容的字节数
函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数。
发表于 2017-08-19 17:01:19 回复(0)
fseek(fp,0,SEEK_END),将文件指针fp定位到文件末尾,ftell(fp),计算当前文件指针fp相对于文件头的距离
编辑于 2018-10-08 16:51:48 回复(0)
#include <stdio.h>
int main(void) {
    FILE *fp;//声明一个文件指针
    long int n;//定义一个长整型变量
    fp = fopen("wj.txt", "rb");//读取wj.txt文件
    fseek(fp, 0, SEEK_END);//将文件指针移动到文件末尾
    n = ftell(fp);//返回当前位置距离开始位置的字节数
    fclose(fp);//关闭文件
    printf("%ld", n);
}
发表于 2022-08-03 09:49:10 回复(1)
int fseek(FILE *stream, long offset, int fromwhere); 
  函数fseek将文件位置指针重定位到fromwhere(SEEK_SET文件头0,SEEK_CUR文件当前位置1,SEEK_END文件末尾2)开始偏移offset个字节的位置;返回成功0,失败-1;

long ftell(FILE *stream);
  返回文件位置指针当前位置相对于文件首的偏移字节数
发表于 2019-05-11 20:20:31 回复(0)

#include <stdio.h>

int fseek(FILE *stream, long offset, int whence);

功能:移动文件流(文件光标)的读写位置。

参数:

       stream:已经打开的文件指针

offset:根据whence来移动的位移数(偏移量),可以是正数,也可以负数,如果正数,则相对于whence往右移动,如果是负数,则相对于whence往左移动。如果向前移动的字节数超过了文件开头则出错返回,如果向后移动的字节数超过了文件末尾,再次写入时将增大文件尺寸。

       whence:其取值如下:

              SEEK_SET:从文件开头移动offset个字节

              SEEK_CUR:从当前位置移动offset个字节

              SEEK_END:从文件末尾移动offset个字节

返回值:

       成功:0

       失败:-1


#include <stdio.h>

long ftell(FILE *stream);

功能:获取文件流(文件光标)的读写位置。

参数:

       stream:已经打开的文件指针

返回值:

       成功:当前文件流(文件光标)的读写位置

       失败:-1


#include <stdio.h>

void rewind(FILE *stream);

功能:把文件流(文件光标)的读写位置移动到文件开头。

参数:

       stream:已经打开的文件指针

返回值:

       无返回值

发表于 2019-08-07 19:30:42 回复(0)
int fseek(FILE *stream, long offet, int fromwhere);为了设置文件指针stream的位置,若是成功,函数返回0,且stream指向以fronwhere为基准,偏移offset个字节的位置;否则不改变stream指向的位置,且返回一个非零值。
发表于 2018-08-27 19:03:26 回复(0)
不懂
发表于 2018-07-14 22:07:51 回复(0)
一开始不会做是因为不知道 fseek 和ftell的功能 在 C 语言中, ftell()  函数用于获取文件指针当前的位置,返回的值表示从文件开头到当前位置的字节偏移量。  fseek()  函数用于在文件中移动文件指针的位置。它的函数原型通常是: int fseek(FILE *stream, long offset, int whence);   offset  是要移动的字节数, whence  用于指定移动的基准位置,有以下几种取值: -  SEEK_SET :文件开头。 -  SEEK_CUR :当前位置。 -  SEEK_END :文件末尾。 例如, fseek(fp, 0, SEEK_SET)  将文件指针移动到文件开头。
编辑于 2024-09-09 20:36:27 回复(0)
#include<stdio.h> int main(void) { FILE *fp;//声明一个文件指针 long int n;//定义一个长整型变量 fp = fopen("wj.txt", "rb");//读取wj.txt文件 fseek(fp, 0, SEEK_END);//将文件指针移动到文件末尾 n = ftell(fp);//返回当前位置距离开始位置的字节数 fclose(fp);//关闭文件 printf("%ld", n); }</stdio.h>
发表于 2022-08-26 15:36:38 回复(0)
SEEK_END表示文件末尾的下一个位置,所以其对应的下标就是文件总字节的个数。
发表于 2017-10-26 13:20:53 回复(0)
1
发表于 2017-10-18 08:14:42 回复(0)
D
发表于 2017-09-05 16:19:05 回复(0)