欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實現(xiàn)從指定位置截取文件內容

 更新時間:2023年11月03日 10:40:25   作者:whik1194  
這篇文章主要為大家詳細介紹了如何利用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++ 中l(wèi)ambda表達式的編譯器實現(xiàn)原理

    C++ 11加入了一個非常重要的特性——Lambda表達式。這篇文章主要介紹了C++ 中l(wèi)ambda表達式的編譯器實現(xiàn)原理,需要的朋友可以參考下
    2017-02-02
  • C語言實現(xiàn)考試報名管理系統(tǒng)

    C語言實現(xiàn)考試報名管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)考試報名管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語言 解壓華為固件的實例代碼

    C語言 解壓華為固件的實例代碼

    這是解壓華為固件(update.app)的C語言。。其實這也是我翻115翻出來的。。。
    2013-08-08
  • C++ 中的 mutable關鍵字作用與使用場景分析(最新推薦)

    C++ 中的 mutable關鍵字作用與使用場景分析(最新推薦)

    C++中的mutable關鍵字允許在常量成員函數(shù)中修改特定成員變量,主要用于緩存機制、延遲計算和多線程同步等場景,它在設計中提供靈活性,但使用時需謹慎,本文介紹C++ 中的 mutable關鍵字作用與使用場景分析,感興趣的朋友一起看看吧
    2025-02-02
  • C語言中的內存管理之掌握動態(tài)分配的技巧(最新推薦)

    C語言中的內存管理之掌握動態(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的實現(xiàn)代碼

    以下代碼是使用了牛頓迭代法求多項式在1.5附近的值 2*x的3次冪 - 4x的平方 + 3*x -6=0的實例。需要的朋友參考下吧
    2013-05-05
  • C++中的編譯與鏈接

    C++中的編譯與鏈接

    這篇文章主要介紹了C++中的編譯與鏈接,編譯型語言SHI?c++最大的優(yōu)點,相比于Python這種解釋型語言,C++在編譯階段就進行了許多處理,在執(zhí)行階段便具有高效性,下面我們就來詳細講解該內容吧
    2021-12-12
  • C語言lseek()函數(shù)詳解

    C語言lseek()函數(shù)詳解

    這篇文章主要介紹了C語言lseek()函數(shù)詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • C++實現(xiàn)簡單職工信息管理系統(tǒng)

    C++實現(xiàn)簡單職工信息管理系統(tǒng)

    本文給大家分享的是使用C++實現(xiàn)簡單的職工信息管理系統(tǒng)的代碼,本系統(tǒng)采用了面向對象的程序設計方法,所有的方法均以類為基礎,感興趣的小伙伴們可以參考一下
    2015-08-08
  • 適合初學者的C語言常量類型的講解

    適合初學者的C語言常量類型的講解

    常量是固定值,在程序執(zhí)行期間不會改變。這些固定的值,又叫做字面量。常量可以是任何的基本數(shù)據(jù)類型,比如整數(shù)常量、浮點常量、字符常量,或字符串字面值,也有枚舉常量。常量就像是常規(guī)的變量,只不過常量的值在定義后不能進行修改
    2022-04-04

最新評論