简述网站开发流程 旅游,软件外包服务内容,合肥做网站找哪家好,网上营业执照申请1、fseek 函数
int fseek(FILE *stream, long offset, int fromwhere);
第一个参数stream为文件指针
第二个参数offset为偏移量#xff0c;正数表示正向偏移#xff0c;负数表示负向偏移
第三个参数origin设定从文件的哪里开始偏移,可能取值为#xff1a;SEEK_CUR、 SEE…1、fseek 函数
int fseek(FILE *stream, long offset, int fromwhere);
第一个参数stream为文件指针
第二个参数offset为偏移量正数表示正向偏移负数表示负向偏移
第三个参数origin设定从文件的哪里开始偏移,可能取值为SEEK_CUR、 SEEK_END 或 SEEK_SET
SEEK_SET 文件开头
SEEK_CUR 当前位置
SEEK_END 文件结尾
简言之
fseek(fp,100L,0);把stream指针移动到离文件开头100字节处
fseek(fp,100L,1);把stream指针移动到离文件当前位置100字节处
fseek(fp,-100L,2);把stream指针退回到离文件结尾100字节处。 2、ftell函数
long ftell() 函数
作用是 获取文件的 当前指针位置 相对于 文件首地址 的 偏移字节数 示例根据以上函数读取文件内容
static char* get_file_msg(char* file)
{FILE *fh NULL;char *ptr NULL;long flen 0;int ret 0;fh fopen(file, r);if(NULL fh){printf( fopen err \n)goto end;}ret fseek(fh, 0, SEEK_END)if(ret ! 0){printf( fseek SEEK_END fail \n);goto end;}flen ftell(fh);if(flen 0){printf( ftell failed [%d] , errno);goto end;}ret fseek(fh, 0, SEEK_SET);if(0 ! ret){printf(fseek SEEK_SET failed );goto end;}ptr (char*)malloc(flen 1);memset(ptr, 0x00, flen1);ret fread(ptr, sizeof(char), flen, ret);if(flen ! ret){printf( fread failed);free(ptr);ptr NULL;}end:if(NULL ! fh){fclose(fh);}return ;
}