当前位置:编程学习 > VB >>

请问用VB如何读取特定行之后数据,并将数据导入二维数组??


需要导入的数据在"Ang. Rad->"之后,"0.0 0.6 1.2……"等是曲率半径,"0.000000 1.000000……"为角度 建立二维数组用于之后的一些算法的运算。 

我用c写了一段代码,但是因为实际需要的是要VB的而我不会VB,所以恳请各位老师帮我看看用vb需要怎么写!


文件格式如下:

"Last Name": "zhen"
"First Name": "menglu"
"ID": "1002154"
"Version": "3.00E"
"Type:": "OD"
………………
Angle Step Size: 1.000000
Radius Step Size: 0.300000
"Ang. Rad->"  0.0  0.6  1.2  1.8  2.4  3.0  3.6  4.2  4.8
0.000000 47.608266 47.580746 47.542666 47.526463 47.594446 47.716328 47.640125 47.222441 "0000"
1.000000 47.608266 47.580931 47.542749 47.526719 47.596220 47.709340 47.600284 47.155101 "0000"
2.000000 47.608266 47.581413 47.543189 47.527322 47.598006 47.701475 47.559716 47.088473 "0000"
3.000000 47.608266 47.582201 47.543927 47.527582 47.598025 47.691816 47.520779 47.026036 "0000"
……………………
60.000000 47.608266 48.177773 48.259982 48.183081 47.885100 "0000" "0000" "0000" "0000"
61.000000 47.608266 48.188149 48.275650 48.200609 47.893669 47.567555 "0000" "0000" "0000"
62.000000 47.608266 48.198520 48.291503 48.217555 47.900419 47.557341 47.352013 46.990730 "0000"
……………………
359.000000 47.608266 47.580829 47.542975 47.527175 47.594376 47.723458 47.677180 47.287194 45.829249

------------------------------------------------------------------------------------------------
c的代码如下:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define HEAD_LINE_NUM 25
#define NUM_PER_LINE 18
#define TOTAL_LINE 360
#define MAX_CHAR_NUM 20

int main()
{
    FILE* fp;
    float dataArray[TOTAL_LINE][NUM_PER_LINE];
    char strTemp[MAX_CHAR_NUM];
    char c;
    int line = 0;
    int i,j;
        fp = fopen( "1002156.txt", "r" );
    if( fp == NULL )
    {
        printf("file open error\n");
        return 0;
    }


    while(line<HEAD_LINE_NUM)/*跳到第HEAD_LINE_NUM行*/
    {
        c = getc(fp);
        if(c=='\n')
            line++;
        printf("%c",c);
    }

    /*执行转换部分*/
    for(i=0;i<TOTAL_LINE;i++)
    {
        for(j=0;j<NUM_PER_LINE;j++)
        {
              fscanf(fp,"%s ",&strTemp);
              if(strTemp[0]=='"')
                dataArray[i][j] = -1.0;
              else
                dataArray[i][j] = atof(strTemp);
        }
    }
    
    /*输出*/
    for(i=0;i<TOTAL_LINE;i++)
    {
        for(j=0;j<NUM_PER_LINE;j++)
        {
            printf("%f ",dataArray[i][j]);
        }
        printf("\n");
    } 
    return 0;  
} --------------------编程问答-------------------- 跟具体的语言有什么关系,你不会VB,就用VC吧! --------------------编程问答-------------------- 呵呵,不是这样的啊
是有做一个对眼角膜子午线截痕特性的分析,对上面那些数据经过算法分析之后要描线画图的,所以用VB会适合点
更重要的是 小组分工的,其他同学负责图像那块的 --------------------编程问答-------------------- 我也想知道,正在找這方面的資料~~~~~
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,