为了账号安全,请及时绑定邮箱和手机立即绑定

网点数据类型转换为中转型EXCLE格式

标签:
C
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{
//=====================================================
//基本数据

    const int startlon = 9755;//起始经度(97.55*100)
    const int startlat = 3995;//起始纬度
    const int xrolls = 2; //行数
    const int yrolls = 4;//列数
    const int step = 10;//步长(0.1*100)
    const int filenumber = 3;//文件总个数
    float data[xrolls][yrolls];

//======================================================
//文件操作
    char infilename[100];
    FILE* fout,*fin;
    fout = fopen("F:\\2017C\\test.txt", "a+");
    int dlon, dlat;
    //对纬度,对经度循环
    for (dlat = 0; dlat < xrolls; dlat++){
        for (dlon = 0; dlon <yrolls; dlon++){

            float lon = (dlon*step + startlon)*0.01;
            float lat = (dlat*step + startlat)*0.01;
            fprintf(fout, "%6.2f""%6.2f", lon, lat);

            //对文件开始循环
            for (int filecount = 1; filecount <= filenumber; filecount++){

                sprintf(infilename, "F:\\2017C\\test%d.txt", filecount);//读入位置!!修改

                fin = fopen(infilename, "r");
                if (!infilename){
                    printf("could not open file!");
                    exit(99);
                }

                //读入数据
                while (!feof(fin))
                {

                    for (int i = 0; i < xrolls; i++){   //i<行数
                        for (int j = 0; j < yrolls; j++){   //j<列数
                            fscanf(fin, "%f", &data[i][j]);
                        }
                    }

                }

                //写入数据
                if (filecount == filenumber)fprintf(fout, "%6.2f\n", data[dlat][dlon]);//如果是横排最后一个,则输入回车
                else fprintf(fout, "%6.2f", data[dlat][dlon]);//(行,列)==(纬度,经度)

                fclose(fin);
            }
        }
    }

        fclose(fout);
        return 0;

}
1.11    2.22    3.33    4.44
5.55    6.66    7.77    8.88
//testx.txt

//lon lat Jan Feb Mar............
97.55 39.95 0.00 1.11 3.11
97.65 39.95 1.00 1.22 3.22
97.75 39.95 2.00 1.33 3.33
97.85 39.95 3.00 1.44 3.44
97.55 40.05 4.00 2.11 3.55
97.65 40.05 5.00 2.22 3.66
97.75 40.05 6.00 2.33 3.77
97.85 40.05 7.00 2.44 3.88
//test.txt

点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消