當前位置:編程學習大全網 - 編程軟體 - 用VC++將excel數據讀入數組的問題

用VC++將excel數據讀入數組的問題

簡單的表格都是數據,可以保存為txt文件,用tab分開。

比如:book1.txt

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

# include & ltstdio.h & gt

#define buff_size 2048 //假設壹行的長度不超過2048字節。

//壹行有多少列?

int get_col(char *buff) {

int i,L=0,N = 0;

l = strlen(buff);

for(I = 1;我& ltl;i++){

if(buff[I]& gt;0x20 & amp& ampbuff[I-1]& lt;= 0x 20)n++;

};

if (buff[0]>0x 20)n++;

返回N;

}

FILE * fin

void main()

{

char name in[80];

int row,col,I,j;

char * buff

浮動* * a;

buff =(char *)malloc(buff _ size * sizeof(char));

printf("輸入文件名book 1 . txt:");

scanf("%s ",name in);//取文件名

fin = fopen(namein," r ");//打開文件

if ( fgets(buff,buff_size,fin)!= NULL)row = 1;//讀取第壹行

col = get _ col(buff);//檢測到多少列

while ( fgets(buff,buff_size,fin)!= NULL)row++;//測量行數

printf("row=%d col=%d\n ",row,col);

倒帶(鰭);

//動態分配二維數組

a =(float * *)malloc(sizeof(float *)* row);

for(j = 0;j & lt排;j++){

a[j]=(float *)malloc(sizeof(float)* col);

}

如果(!a) {printf("內存不足\ n ");退出(a);};

//讀入表格

for(j = 0;j & lt排;j++)

for(I = 0;我& ltcoli++)

fscanf(fin," %f ",& ampa[j][I]);

fclose(fin);

//最後的1列打印在這裏。

for(I = 0;我& lt排;i++) printf("%f ",a[I][col-1]);

//可以分別給幾個壹維數組賦值。

}

  • 上一篇:java是純文本語言嗎
  • 下一篇:初中沒考上高中上什麽學校好?
  • copyright 2024編程學習大全網