es fehlte der "closeevent" für das betreffende Fenster.
Ich hatte den beim Kopieren aus einem anderen Element übersehen.
Bin ganz zerknirscht und bedanke mich für eure bemühungen
Ist bei jeder Pipe so. FIFO halt. Was zuerst reingeschrieben wird kann auch zuerst wieder gelesen werden. Und danach kommt das was als nächstes reingeschrieben wurde. (Vergleich Wasserrohr - ich kann dort auch nicht zweimal das "gleiche" Wasser rauspumpen :D)
Was passiert mit dem Inhalt? Er wird vom Kernel-Puffer in den User-Puffer transferiert und dann freigegeben...
kingruedi schrieb:
Siehe pipes: man: pipe(2), man: popen(3)
Danke. Also ich habe es mal mit popen probiert:
=================================
FILE* testfile;
testfile = popen("sftp user@server","w");
// sleep(5);
fprintf(testfile,"password\n");
fflush(testfile);
pclose(testfile);
========================
Ich sehe dann den Passwort-Prompt von "sftp" in der Std-Eingabe, aber es tut sich nichts..(wird nix übergeben)
Auch kann ich ja dann pro Prozess-Aufruf nur input ODER output streamen - also keine Interaktion durchführen, oder?
Hey wieso ist der zickig?
Wenn Deine Installation nur halb komplett ist, war das alles nicht verwunderlich, und deinen Versuch, C++-Programme mit dem C-Compiler zu übersetzen, hast Du selbst schon drangegeben, oder?
Ich behaupte mal im Sourcepaket von OpenSSH, welches Du entweder direkt von OpenSSH beziehst, oder von Deiner SuSE-Quelle installierst.
Die SuSE-SourceRPMs installieren sich nach /usr/src/packages/SOURCES, wohin Du dann das eigentliche Quellpaket entpackst ist völlig wurst.
Hallo,
ne, kannst soweit ich weiß nix löschen. Dein Betriebssystem sendet ja schon jedesmal ein Paket wenn Daten ankommen, nachher verwerfen musst du sie selber.
nman schrieb:
Da wird zumindest ein paar Mal erwähnt, dass Quake 3 ziemlich buggy sein dürfte, das meinte ich eigentlich.
Achso.
Hatte in der Tat nur Q3-Engine oder id Games generell getestet.
Teste ich demnächst mal andere.
Kann aber erst wieder am Wochenende...
Naja, vielleicht teste ich das auch mal auf dem 64-Bit-System hier...
Ich weiss, ich habe auch nicht damit gerechnet das mir dies jemand abnimmt. Aber einen Tipp, wo ich sowas finden koennte waer nicht schlecht. rpmseek hat die Datei ihrgendwie nicht.
Und bei Zeiten kommt bei mir Debian
Slider
nman schrieb:
Was passt damit nicht?
(Oder warum postest Du das jetzt?)
ich wollte es nur nochmal zusammenhängend posten
und nicht vergessen, -lpthread dazulinken
Was ist das für eine Variable, in die geschrieben wird?
Ich würde eine Pipe nehmen. Da kann der zweite Prozess anfangen zu lesen, wenn es noch gar nichts zu lesen gibt. Der wartet einfach schlafend auf Prozess 1.
nachdem sich das "problem" mit dem weglassen von return als eingabebestaetigung erledigt hat, habe ich jetzt ein weiteres kleines problem und zwar folgendes:
mit diesem kleinen programm moechte ich eigentlich nichts anderes als meine eingabe unterhalb der eingabezeile einfach nocheinmal ausgegeben wird.
das problem ist, das macht es nicht.
innerhalb der schleife erfolgt keine ausgabe der funktion printscreen().
erst wenn die schleife beendet wurde erfolgt die richtige ausgabe.
und meine frage jetzt warum, was mach ich falsch?
#include "ncurses.h"
#include <iostream>
using namespace std;
char atmp[30];
void clearscreen();
void initscreen();
void printscreen();
int main(){
char a;
int i = 0;
do{
clearscreen();
cout << "Eingabe:" << atmp;
initscreen();
a = getch();
endwin();
atmp[i] = a;
i++;
}while(i < 10);
clearscreen();
cout << "===ende===" << endl;
printscreen();
cout << "==========" << endl;
return 0;
}
void printscreen(){
printf("%s",atmp);
cout << endl;
return;
}
void initscreen(){
initscr();
cbreak();
noecho();
nonl();
keypad(stdscr,TRUE);
return;
}
void clearscreen(){
cout << "\033[2J\n\n";
return;
}