zoukankan      html  css  js  c++  java
  • [笔记].怎样使用C语言读取文件中的数据,然后再写到文件中

    引子:新近在做热电偶的分度表,由于要提高其解析度,若以要对已有的分度表进行插值。然而,上万个数据,若是手动插值,不知道要弄到猴年马月。小试一下C语言的fscanf和fprintf的格式化输入和输出,因为之前从来没有使用C来操作文件,所以一番折腾,还好成功了,现贴出来,以后再用。

    insert_new_elsement.c

    #include <stdio.h>
    
    typedef struct{
        int V;
        int T;
    }V2T_T, *V2T_PT;
    
    int main()
    {
        int i;
        V2T_T a[3], b[2];
        char filename1[80], filename2[80];
        FILE *pOrigin, *pNew;
       
        printf("输入源文件名:");
        gets(filename1);
        printf("输入目的文件名:");
        gets(filename2);
        
        pOrigin = fopen(filename1, "rb");
        pNew = fopen(filename2, "wb");
          
        do{
            
            fscanf(pOrigin, "%d %d", &a[0].V, &a[0].T); 
            fscanf(pOrigin, "%d %d", &a[2].V, &a[2].T);
            if(0 != feof(pOrigin)) break;
            a[1].V = (a[0].V + a[2].V) >> 1; 
            a[0].T *= 10;
            a[2].T *= 10;        
            a[1].T = (a[0].T + a[2].T) >> 1; 
            
            b[1].V = (b[0].V + a[0].V) >> 1;
            b[1].T = (b[0].T + a[0].T) >> 1;
            
            printf("    {%d, %d},\n", b[1].V, b[1].T);
            fprintf(pNew, "    {%d, %d},\n", b[1].V, b[1].T);
            
            b[0] = a[2];
            
            i=0;        
            do{
                printf("    {%d, %d},\n", a[i].V, a[i].T);
                fprintf(pNew, "    {%d, %d},\n", a[i].V, a[i].T);
            }while(++i < 3);
        }while(0 == feof(pOrigin));
        
        fclose(pOrigin);
        fclose(pNew);
        
        return 0;
    }
    

    源文件节选

    -78578 -200
    -78174 -199
    -77770 -198
    -77366 -197
    -76962 -196
    -76558 -195
    -76255 -194
    -75851 -193
    -75447 -192
    -75043 -191
    -74639 -190
    

    目标文件节选

        {-78578, -2000},
        {-78376, -1995},
        {-78174, -1990},
        {-77972, -1985},
        {-77770, -1980},
        {-77568, -1975},
        {-77366, -1970},
        {-77164, -1965},
        {-76962, -1960},
        {-76760, -1955},
        {-76558, -1950},
        {-76407, -1945},
        {-76255, -1940},
        {-76053, -1935},
        {-75851, -1930},
        {-75649, -1925},
        {-75447, -1920},
        {-75245, -1915},
        {-75043, -1910},
        {-74841, -1905},
        {-74639, -1900},
  • 相关阅读:
    SSIS -->> Data Type
    SSIS ->> Parameter
    Data Flow ->> Term Lookup
    Data Flow ->> Term Extraction
    Data Flow ->> Pivot
    Data Flow ->> OLE Command
    Data Flow ->> Multicast
    Data Flow ->> Union All
    Data Flow ->> Merge
    LeetCode OJ 118. Pascal's Triangle
  • 原文地址:https://www.cnblogs.com/yuphone/p/2017676.html
Copyright © 2011-2022 走看看