ďťż

Ładny brzuch

jak za pomocą c++ wysłać do wiersza poleceń komendę i oczywiście pobrać wynik wykonanego zapytania ? Np. chce wykonać polecenie "ping" (za pomocą c++) i do jakiegoś stringa przypisać jego wartość. Jak to zrobić ?



http://forum.ks-eksp...showtopic=80839

ew jeśli chcesz zrobić to dłuższą, ale podobno bardziej PRO metodą, to kłaniają się potoki...

pod linuxem:
http://gynvael.vexil..._stdinout.stuff
(lub popen jesli cie interesuje jeden potok)

pod win32:
http://support.micro...s/q190/3/51.asp
(lub popen jesli cie interesuje jeden potok)

nie jest to slicznie proste, ale do przejścia dla upartych ;>

popen jest oczywiscie prostsze, ale jedno-kierunkowe... dla ping'a i pochodnych to starczy jednak...


NAME
      popen, pclose - process I/O

SYNOPSIS
      #include <stdio.h>

      FILE *popen(const char *command, const char *type);

      int pclose(FILE *stream);

DESCRIPTION
      The  popen()  function opens a process by creating a pipe, forking, and
      invoking the shell.  Since a pipe is by definition unidirectional,  the
      type  argument  may  specify  only  reading  or  writing, not both; the
      resulting stream is correspondingly read-only or write-only.


czyli np
FILE *p = popen("ping www.wp.pl", "r"); if(!p) jakis_error(); char data[1024]; while(1){ fgets(data, 1024, p); if(feof(p)) break; printf("dostalem-> %s", data); } pclose(p);
(moga byc bledy, z glowy pisze)
Użytkownik Gynvael Coldwind edytował ten post 28 maj 2006, 19:59
Co do popena, to chyba zależy od platformy..


The popen() function ``opens'' a process by creating a bidirectional pipe

(FreeBSD 7)

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