systemtrader Posted May 22, 2012 Report Share Posted May 22, 2012 Hallo Nun hab ich auch mal eine frage. Wie Löst ihr unter C/C++ Plattform unabhängig das Problem wenn zwei Programme auf eine Datei zugreifen? In meinem Fall schreibe ich zum Beispiel aus dem MT4 RT Kurse in ein TXT File und Lese es mit einem Externen Programm in C/C++ wider aus bei mir kam es immer wider zu Programmbrüchen wenn gerade zufällig beide auf die Daten in dem TXT File zugreifen was ja auch Logisch ist, gelöst habe ich es über eine Zeitabfrage also so das jedes Programm einen eigenes Zeitfenster hat auf die Daten zuzugreifen. Das ist bestimmt nicht die Beste Lösung daher frag ich mal bei euch nach wie ihr mit diesem Problem umgeht. Freue mich schon auf eure Anregungen Quote Link to comment Share on other sites More sharing options...
siscop Posted May 22, 2012 Report Share Posted May 22, 2012 Ist schon eine weile her aber soviel ich weiss kann man soviele Lesezugriffe haben wie man will. Es darf halt nur einer schreiben. Ohne Parameter gehst du jedoch mit Schreibzugriff auf die Datei.Bei fopen also ein "r" hinzufügen.Mich würde ehr interessieren was er als error msg ausgibt beim try/catch wenn nur einer schreibend öffnet. Quote Link to comment Share on other sites More sharing options...
CashorNothing Posted May 22, 2012 Report Share Posted May 22, 2012 Wie siscop schon sagte müsste Lesezugriff immer gehen. Wenn du "gleichzeitig" mit mehr als einem Prozess Lesen und Schreiben willst wirst du um mutex nicht herumkommen. Quote Link to comment Share on other sites More sharing options...
systemtrader Posted May 22, 2012 Author Report Share Posted May 22, 2012 Hallo Danke für eure Tips wenn ich mir Mutex genauer anschaue dann war ich mit der Einteilung der Zeitfenster doch gar nicht so schlecht beraten, dann werde ich es zukünftig auch so belassen es Funktioniert ja ;-) Danke aber nochmal Quote Link to comment Share on other sites More sharing options...
wh Posted May 22, 2012 Report Share Posted May 22, 2012 Vielleicht müsstest Du Dein Problem ein wenig genauer Skizzieren.Was sind denn das für Anwendungen? Können diese sich gegenseitig erreichen?etc... Hier mal ein schönes Beispiel für eine Anwendung: http://en.allexperts.com/q/C-1040/write-read-file-cpp.htm Quote Link to comment Share on other sites More sharing options...
systemtrader Posted May 22, 2012 Author Report Share Posted May 22, 2012 Vielleicht müsstest Du Dein Problem ein wenig genauer Skizzieren.Was sind denn das für Anwendungen? Können diese sich gegenseitig erreichen?etc... MT4 Schreibt Kurse in ein TXT File Schreibend. Einfaches bsp EURUSDbid = MarketInfo("EURUSD",MODE_BID); EURUSDask = MarketInfo("EURUSD",MODE_ASK); handle=FileOpen("EURUSD-Qwote.csv", FILE_CSV|FILE_WRITE, ';'); if(handle>0) { FileWrite(handle,EURUSDbid ,EURUSDask ); Print(EURUSDbid); FileClose(handle); } Mit Python oder C++ Lese ich diese Dateien dann per while Schleife aus das muss ja schief gehen ohne Zeitsynchronisierung ;-) Quote Link to comment Share on other sites More sharing options...
wh Posted May 22, 2012 Report Share Posted May 22, 2012 Mutex wie CashOrNothing schon erwähnt hat. Mutex - MT4, Python, C++ Data_SegMemory Mapped Files Man muss das Rad ja nicht neu erfinden. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.