Un saluto a tutti
Ecco una parte del mio codice:
Quando lo compilo mi dice che l array tmp1 e tmp2 non sono dichiarati.codice:void WriteToPipe(pipe_t &Child_IN_Wr, char nome_cognome[NAMESIZE], int num) //Gli passo nome come parametro // Write to the pipe for the child's STDIN. { #ifdef WIN32 DWORD dwRead, dwWritten; BOOL bSuccess = FALSE; int length; if (num=1) { char tmp1[] = "cd VocaleConsole\ncd Exe\ncd Profiles\ncd "; char tmp2[] = "\ncd Model\ndos2unix *.*\n./HTK_Compile_Model.sh \n"; } else { char tmp1[]="cd VocaleConsole\ncd Exe\ncd Profiles\ncd "; char tmp2[]="\ncd test\nHCopy -A -D -T 1 -C wav_config -S codetrain.scp\njulian -input rawfile -filelist wavlst -smpFreq 48000 -C julian.jconf > juliusOutput\n./ProcessJuliusOutput.pl juliusOutput juliusProcessed\nHResults -I testref.mlf tiedlist juliusProcessed"; } length = sizeof(tmp1)+sizeof(tmp2)+sizeof(nome_cognome); char *chBuf=(char *) malloc(length); strcpy (chBuf,tmp1); strcat (chBuf,nome_cognome); strcat (chBuf, tmp2); bSuccess = WriteFile(Child_IN_Wr, chBuf,length, &dwWritten, NULL); // Close the pipe handle so the child process stops reading. if ( ! CloseHandle(Child_IN_Wr) ){ cout<<"error: Close handle\n"; return; } #endif }
Come mai?! Dove sbaglio?!
Un saluto

Rispondi quotando