C语言实现从指定位置截取文件内容
更新时间:2023年11月03日 10:40:25 作者:whik1194
这篇文章主要为大家详细介绍了如何利用C语言实现从指定位置截取文件内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
源代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdint.h> #include <sys/stat.h> #include <sys/types.h> #define FILE_OFFSET 10 #define EXE_ABORT() {system("pause");return 0;} #define FILE_NAME_I "./test.txt" #define FILE_NAME_O "./test_out.txt" int main(int argc, char *argv[]) { uint32_t offset = FILE_OFFSET; char filename_i[300]; char filename_o[300]; FILE *fp_i; FILE *fp_o; char ch = 0; int ret = 0; struct stat stat_i; struct tm *tm_p; strcpy(filename_i, FILE_NAME_I); strcpy(filename_o, FILE_NAME_O); printf("filname_i = %s\n", filename_i); printf("filname_o = %s\n", filename_o); ret = stat(filename_i, &stat_i); if(ret != 0) { printf("%s: get file stat failed", filename_i); EXE_ABORT(); } printf("get file stat success\n"); //! 文件的大小,字节为单位 printf("size of the file in bytes: %.02f MB (%d Bytes)\n", stat_i.st_size / 1024.0, stat_i.st_size);// fp_i = fopen(filename_i, "rb"); fp_o = fopen(filename_o, "wb"); if(fp_i == NULL) { printf("%s open failed\n", filename_i); EXE_ABORT(); } if(fp_o == NULL) { printf("%s open failed\n", filename_o); EXE_ABORT(); } printf("offset = %d(0x%x)\n", offset, offset); fseek(fp_i, offset, SEEK_SET); while(1) { ch = fgetc(fp_i); if(feof(fp_i)) break ; fputc(ch, fp_o); } fclose(fp_i); fclose(fp_o); printf("截取完成\n"); system("pause"); return 0; }
运行结果:
输入文件test.txt内容:
1234567890ABCDEFGHIJKLMOPQRSTUVWXYS
偏移量设定为10,截取后的test_out.txt文件内容:
ABCDEFGHIJKLMOPQRSTUVWXYS
更方便的,可以argc参数,来实现通过指定输入文件路径和指定偏移量。
到此这篇关于C语言实现从指定位置截取文件内容的文章就介绍到这了,更多相关C语言截取文件内容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
C++ Boost MetaStateMachine定义状态机超详细讲解
Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称2022-12-12Cocos2d-x UI开发之CCControlPotentiometer控件类使用实例
这篇文章主要介绍了Cocos2d-x UI开发之CCControlPotentiometer控件类使用实例,本文代码中包含注释来讲解CCControlPotentiometer控件类的使用,需要的朋友可以参考下2014-09-09
最新评论