首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

将算法主程序main修改后,使它作为一个函数能被其它函数调用,该如何修改呢

2012-04-06 
将算法主程序main修改后,使它作为一个函数能被其它函数调用,该怎么修改呢?int main( int argc, char * arg

将算法主程序main修改后,使它作为一个函数能被其它函数调用,该怎么修改呢?

int main( int argc, char * argv[] )
{
p563Results_struct tResults = {-1}; 

INT32i;
short int * speech_samples; /* Array of speech samples */
INT32 file_length; /* Number of samples in speech file */
INT32 num_read;/* number of elements read from file */

char* PassThroughParameters= "";
char pSpeechFilename[100];
char *pResultFileName="stdout";


FILE *speech_file;

bool RefFileSet=FALSE;
bool PassTitlesSet = FALSE;


int PartitionNumber;
FLOAT PredictedMos;


/* Open speech file and results file */

/*_controlfp(_EM_INEXACT|_EM_DENORMAL|_EM_UNDERFLOW,_MCW_EM); inexact denormal underflow */
 if (argc < 2){
usagepseam();
exit(-1);
}

strcpy(pSpeechFilename,argv[1]);
RefFileSet=TRUE;

for (i=2; i<argc; i++)
{
if (!strcmp(argv[i], "-out"))
{
i++;
if (i<argc) pResultFileName = argv[i];
}
else 
{
if (!RefFileSet) { strcpy(pSpeechFilename,argv[i]); RefFileSet=TRUE;}
else if (!PassTitlesSet) { PassThroughParameters = argv[i]; PassTitlesSet = TRUE;}
}
}

/* open speech file */
if((speech_file = fopen(pSpeechFilename, "rb")) == NULL )
{
printf( "Cannot open file %s\n", pSpeechFilename ) ;
exit (-1) ;
}

/* Read speech samples from file */
fseek(speech_file, 0 , SEEK_END) ;
file_length = (ftell(speech_file))/(sizeof(short int)) ;
fseek(speech_file, 0 , SEEK_SET) ;

speech_samples = (short int *)calloc(file_length, sizeof(short int)) ;
num_read = fread(speech_samples, sizeof(short int), file_length, speech_file);

if(num_read != file_length)
{
printf( "Unable to read all the data from file\n" );
exit(-1);
}

/*************************
* PROCESS MODEL *
*************************/

module1(speech_samples, file_length, &tResults);

module2(speech_samples, file_length, &tResults);

module3(speech_samples, file_length, &tResults);

  PostProcessMovs( &PartitionNumber, &PredictedMos, &tResults);

  PrintResults(pSpeechFilename,&tResults,pResultFileName,PassThroughParameters);

/* Clean up*/
fclose(speech_file) ;
free(speech_samples);

return(0);
}

我只知道要修改main的名字,还有形参,不知道该怎么改,谢谢大家

[解决办法]
这个问题啊

热点排行