⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pfil_parse_2.cc

📁 这是处理语音信号的程序
💻 CC
字号:
// file: pfile__parse_2.cc// // isip include files//#include "param_file.h"#include "param_file_constants.h"// system include files//#include <string.h>// method: symbol_pad_cc//// arguments://  char_1* buffer: (input/output) the string to be symbol padded//  int_4 len: (input) the length of the string//  char_1* chars: (input) symbols used to pad the string//// return: a logical_1 indicating status//// this methods adjusts the space between symbols inside the string //logical_1 Param_file::symbol_pad_cc(char_1*& buffer_a, int_4 len,				    char_1* chars_a) {  if ((buffer_a == (char_1*)NULL) || (chars_a == (char_1*)NULL)) {   error_handler_cc((char_1*)"symbol_pad_cc",		    (char_1*)"the input string is NULL");  }    char_1* buffer = (char_1*)NULL;  int_4 size_str = strlen((char*)buffer_a);    // allocate the buffer  //  if (buffer == (char_1*)NULL) {    buffer = new char_1[size_str + 1];  }  // copy over the source string  //  strcpy((char*)buffer, (char*)buffer_a);  // reallocate the input buffer  //  delete [] buffer_a;  buffer_a = new char_1[2 * size_str + 1];    // buff_p: the pointer to the original buffer that is read from  // fixed_buff_p: the pointer that is written to.  //  char_1* buff_p = buffer;  char_1* fixed_buff_p = buffer_a;  int_4 state = PFIL_STATE_PAD_NOSPACE;    // enter the state machine  //  while (*buff_p != (char_1)NULL) {        if (state == PFIL_STATE_PAD_NOSPACE) {      if (strchr((char*)chars_a, (char)*buff_p) != (char_1)NULL) {	if (fixed_buff_p != buffer_a) {	  *fixed_buff_p++ = (char_1)PFIL_SPACE_CHR;	}	*fixed_buff_p++ = *buff_p;	*fixed_buff_p++ = (char_1)PFIL_SPACE_CHR;	state=PFIL_STATE_PAD_SPACE;      }      else if (*buff_p == (char_1)PFIL_SPACE_CHR) {	*fixed_buff_p++ = (char_1)PFIL_SPACE_CHR;	state = PFIL_STATE_PAD_SPACE;      }      else {	*fixed_buff_p++ = *buff_p;      }    }    else if (state == PFIL_STATE_PAD_SPACE) {            if (strchr((char*)chars_a, (char)*buff_p) != (char_1)NULL) {      	*fixed_buff_p++ = *buff_p;	*fixed_buff_p++ = (char_1)PFIL_SPACE_CHR;      }      else if (*buff_p == (char_1)PFIL_SPACE_CHR) {	// do nothing	//      }      else {		// simple character, return to state 0	//	*fixed_buff_p++ = *buff_p;	state = PFIL_STATE_PAD_NOSPACE;      }    }    buff_p++;  }  *fixed_buff_p = (char_1)NULL;  fixed_buff_p--;  if (*fixed_buff_p == (char_1)PFIL_SPACE_CHR) {    *fixed_buff_p = (char_1)NULL;    fixed_buff_p--;  }    // clean up  //  delete [] buffer;  buffer = (char_1*)NULL;      // exit gracefully  //  return ISIP_TRUE;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -