Input file as follws:
Code:
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCGCCGCCC
GGGGGGGGGGGGGAGGG?GGGG?GGGG?G?GGGAGG?A??GGGGGA
GGGGGGGGGGGGGGGGG?GGGG?GGGG?G?GGGGGG?G??GGAGGG
AAAAAAAAAAAAAAAACAAAAACAAAACCCAAAAAAAAAAAA?AAA
CCCCCCCCCCCCCCCCACCCCCACCCCAAACCCCCCCCCCCCCCCC
CACAACACAAAAACCCCCCACC?ACCACCCCACCCCCCCCACCACC
GAGAAGAGAAAAAGGGG?GAGG?AGGAGGGGAGGGGGGGGAGGAGG
GGAGGGGAGGGGGGAGGAAGGGGGGGGGGGGGGGGGGGGGGGGGGG
CCTCCCCTCCCCCCTCCTTCCCCCCCCCCCCCCCCCCCCCCCCCCC
GGAGGGGAGGGGGGAGG?AGGGGGGGGGGGGGGGGGGGG?GG?GGG
AACAAAACAAAAAACAACCAAAAAAAAA?ACAAA?AAAACAACACA
...
I want to load this file into char **inputfile;
how to malloc memory dynamicly?
My codes below can't malloc memory dynamicly
Code:
char **input = cmatrix(0,40,0,46);
char **cmatrix(int nrl,int nrh,int ncl,int nch)
{
int i, nrow=nrh-nrl+1,ncol=nch-ncl+1;
char **cm;
/* allocate pointers to rows */
if((cm=(char **)calloc(nrow,sizeof(char*)))==NULL)
{
printf("error cmatrix: calloc error No. 1 \n");
return(NULL);
}
cm+=0;
cm-=nrl;
/* allocate rows and set pointers to them */
if((cm[nrl]=(char *)calloc(nrow*ncol,sizeof(char)))==NULL)
{
printf("error cmatrix: calloc error No. 2 \n");
return(NULL);
}
cm[nrl]+=0;
cm[nrl]-=nrl;
for(i=nrl+1;i<=nrh;i++)
cm[i]=cm[i-1]+ncol;
/* return pointer to array of pointers to rows */
return cm;
}