Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » stdin/stdout umleiten (analog zu "pipe")

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
17.03.2008, 21:28 Uhr
~GP
Gast


Hallo,

ich sollte hier etwas unter Windows zum laufen bringen, das ich für Linux erstellt habe.

Das grundsätzliche Problem ist folgendes: Ich erstelle in 30'000^3 Iterationen jeweils einen String grösseren, schicke den als Input an ein externes Programm und brauche den Output wieder als String.

Bisher löste ich das per pipe (stdin/stdout umlenken) und anschliessenden system-call - gibt es da einen analogen Lösungsansatz unter Windows?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.03.2008, 21:44 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hallo,
zeig mal was du genau benutzt hast? Denn Stdin&Out umleiten ist auch unter Windows möglich!
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.03.2008, 12:13 Uhr
~GP
Gast


Die Passage ist folgende:


C++:
pipe (pfds);
pipe (pfds2);

close (0);        // close normal stdin
close (1);        // close normal stdout

dup (pfds[0]);    // stdin = pfds[0]
dup (pfds2[1]);    // stdout = pfds2[1]

write (pfds[1], string, (strlen(string)+1));
close (pfds[1]);    

system ("qconvex Fs FS Tz");

read (pfds2[0], string2, 50000);

close (pfds[0]);
close (pfds2[0]);
close (pfds2[1]);




Also im wesentlichen: string -> qconvex -> string2
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.03.2008, 12:23 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi, das ms-pendant zu pipe ist _pipe, genauso wie _dup usw. normalerweise reicht es wenn man sich die ms-versionen davon entsprechend auf die korrekten namen weiterdefiniert, sowas wie


C++:
#ifdef _MSC_VER
#define pipe _pipe
#define dup _dup
// usw
#endif // _MSC_VER


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.03.2008, 22:33 Uhr
~GP
Gast


Klappt bestens, vielen Dank!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: