Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 22. únor 2013, 22:01:42 Předmět: Je soubor otevřený pro zápis? |
|
|
Dá se nějak zjistit, jestli je konkrétní soubor už otevřený pro zápis? Do widlí se mi teď nechce restartovat, ale na linuxu úplně v pohodě pro zápis zároveň otevřu několikrát ten samý soubor.
Díky. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
 |
Tringi

Založen: 28. 07. 2007 Příspěvky: 290
|
Zaslal: 23. únor 2013, 00:35:29 Předmět: |
|
|
Nejnižší zdokumentovaný způsob otevření souboru na Windows je zavolat CreateFile.
Třetím parametrem definuješ exkluzivitu. Zadáš-li zde FILE_SHARE_WRITE, dovoluješ soubor otevřít pro zápis vícekrát, pokud tento příznak vynecháš, soubor se ti otevře pro zápis výhradně, nebo vůbec (s chybou ERROR_SHARING_VIOLATION) pokud již jej někdo jiný pro zápis otevřený má.
Posixové fopen neotevírá exkluzivně. C11 (nejsem si stoprocentně jistý) výhradní otevření podporuje, přidáním znaku "x" na konec mode stringu. Posix funkce open k tomu má příznak O_EXCL. _________________ WWW | GitHub | TW |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 23. únor 2013, 07:24:37 Předmět: |
|
|
Podle dokumentace je to "x" i O_EXCL řízeno existencí souboru (existuje -> fail). Já chci otevřít pro zápis soubor, i když existuje. Jenom nechci zapisovat do jednoho souboru z více procesů, ale to musím být schopný nějak zdetekovat, že je daný soubor již otevřen. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
 |
Tringi

Založen: 28. 07. 2007 Příspěvky: 290
|
Zaslal: 23. únor 2013, 13:01:28 Předmět: |
|
|
OK, skenoval jsem text asi moc rychle, pak rychlé google: open_excl?
Na Windows je to triviální případ a má odpověď stále platí. _________________ WWW | GitHub | TW |
|
Návrat nahoru |
|
 |
|
|
Nemůžete odesílat nové téma do tohoto fóra Nemůžete odpovídat na témata v tomto fóru Nemůžete upravovat své příspěvky v tomto fóru Nemůžete mazat své příspěvky v tomto fóru Nemůžete hlasovat v tomto fóru
|
Powered by phpBB © 2001, 2005 phpBB Group
Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna