解决了,呵呵,第一次编程,虽然很小,但是还是很有成就感~呵呵
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<fstream.h>
void main()
{
/*************************** Read Data of Node and save to Node[m][4] ************************************/
char N_str[100];
char line[1024];
int N_Column=0; // columns of Node[][]
double N_Column1,N_Column2,N_Column3;
double N_Column4,N_Column5,N_Column6; // Node[][1]...Node[][3]
FILE *fp=NULL;
if((fp=fopen("Box.inp","r"))==NULL)
{
printf("cannot open file\n");
return;
}
double **Node=NULL; // define Node[][3], let value of Node[][] be null;
while(!feof(fp))
{
fscanf(fp,"%s\n",&N_str);
// printf(N_str);
if(strcmp(N_str, "NODE")) // if not NODE, skip lines
{
memset(line,'\0',1024);
fgets(line,1024,fp);
// printf(line);
}
else // we get NODE
{
fscanf(fp,"%s\n",&N_str); // get the Total Number of Nodes
N_Column = atoi(N_str); // convert string to number
Node = new double*[N_Column]; //define row number of A[][]
for(int i=0; i<N_Column; i++) // now read data
{
Node=new double[4]; //define column number of A[][]
fscanf(fp, "%lf %lf %lf %lf %lf %lf\n",&N_Column1,&N_Column2,&N_Column3,&N_Column4,&N_Column5,&N_Column6);
Node[0]=N_Column1;
Node[1]=N_Column4;
Node[2]=N_Column5;
Node[3]=N_Column6;
}
break; // done
}
}
fclose(fp);
// print
for(int i=0; i<N_Column; i++)
{
for(int j=0; j<4; j++)
{
printf("%lf\t",Node[j]);
}
printf("\n");
}
}