Ładny brzuch

Cze
Mam taki problem. Napisaem tak funkcje ktra ma uruchamia komend przekazan jej w parametrze, przechwytywa wynik i zapisywa go do pliku;
Poniszy kod jest wynikiem sklejania i edycji kodw z rnych tutoriali i czciowo z MSDN-a. Prosz take o nie odsyaine mnie do googli lub rde wiedzy typu msdn jeli ju to jaki konkretny kod :] - prosze o skomentowanie mojego programu i napisanie co jest le. Licz na wasz wiedz i pomoc ;-)
void cmd_command(char * comm){        PROCESS_INFORMATION     pi;        STARTUPINFO             si;        HANDLE ppi_read, ppi_write;            SECURITY_ATTRIBUTES saAttr;             saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);             saAttr.bInheritHandle = TRUE;             saAttr.lpSecurityDescriptor = NULL; bool cpi = CreatePipe(&ppi_read, &ppi_write, &saAttr, 1024);        ZeroMemory( &si, sizeof(STARTUPINFO) );                    si.cb         =  sizeof(STARTUPINFO);                si.dwFlags    =  STARTF_USESTDHANDLES |  STARTF_USESHOWWINDOW;                si.hStdInput  =  INVALID_HANDLE_VALUE;                si.hStdOutput =  ppi_write;                si.hStdError  = ppi_write;                si.wShowWindow= SW_HIDE; bool cpr = CreateProcess(                NULL,                comm,                NULL, NULL, FALSE,                0,                NULL, NULL, &si, &pi );     WaitForSingleObject( pi.hProcess, INFINITE );                       FILE *out = fopen("bufout.txt", "w");        if(!cpr)  fprintf(out, "Nie udao sie utworzy procesu\n"); else fprintf(out, "Utworzono proces\n");        if(!cpi)  fprintf(out, "Nie udao sie utworzy pipy\n");else fprintf(out, "Utworzono pipe\n");        fprintf(out, "-------------\n");        ReadFile(ppi_read, chBuf, 4096, &dwRead, NULL);        fprintf(out, "%s", chBuf); fclose(out);        DWORD   code;        if( GetExitCodeProcess( pi.hProcess, &code ) == TRUE )        {                // 0 jesli host zostal znaleziony                // 1 jesli host nie zostal znaleziony // Censoured;-P;-)        }        CloseHandle( pi.hThread );        CloseHandle( pi.hProcess ); }
problem jest taki ze w pliku wynikowym nie ma wyjscia programu.
odpalaem go dla pinga oraz dla takiego progs-a:
#include <cstdio> using namespace std; int main(){  printf("A ja wole moja mame co ma wlosy jak atrament!!!!\n");  fflush(stdout);  return(0); }

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •