C語言實現(xiàn)從指定位置截取文件內容
源代碼:
#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"); //! 文件的大小,字節(jié)為單位 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參數(shù),來實現(xiàn)通過指定輸入文件路徑和指定偏移量。
到此這篇關于C語言實現(xiàn)從指定位置截取文件內容的文章就介紹到這了,更多相關C語言截取文件內容內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C++ 中l(wèi)ambda表達式的編譯器實現(xiàn)原理
C++ 11加入了一個非常重要的特性——Lambda表達式。這篇文章主要介紹了C++ 中l(wèi)ambda表達式的編譯器實現(xiàn)原理,需要的朋友可以參考下2017-02-02C++ 中的 mutable關鍵字作用與使用場景分析(最新推薦)
C++中的mutable關鍵字允許在常量成員函數(shù)中修改特定成員變量,主要用于緩存機制、延遲計算和多線程同步等場景,它在設計中提供靈活性,但使用時需謹慎,本文介紹C++ 中的 mutable關鍵字作用與使用場景分析,感興趣的朋友一起看看吧2025-02-02C語言中的內存管理之掌握動態(tài)分配的技巧(最新推薦)
在C語言編程中,內存管理是一項至關重要的技能,它直接關系到程序的性能和穩(wěn)定性,特別是在處理大型數(shù)據(jù)集或需要靈活內存布局的場景下,本文將深入探討C語言中的動態(tài)內存分配技巧,幫助開發(fā)者更好地掌握這一核心技能2025-03-03牛頓迭代法求多項式在1.5附近的值2*x的3次冪--4x平方+3*x-6=0的實現(xiàn)代碼
以下代碼是使用了牛頓迭代法求多項式在1.5附近的值 2*x的3次冪 - 4x的平方 + 3*x -6=0的實例。需要的朋友參考下吧2013-05-05