Kezdőoldal » Számítástechnika » Programozás » Hogy lehet C-ben megnézni...

Hogy lehet C-ben megnézni azt, hogy egy fájl megvan-e már nyitva írásra?

Figyelt kérdés

Azt olvastam, hogy ha egy fájl megvan nyitva írásra akkor a következő fopen-nek alapból NULL értéket kellene visszaadnia de nálam ugyanúgy megnyitja 2x írásra mind a két program.


Itt a két tesztem


(teszt.c)

FILE *fp = fopen("teszt.conf", "w");

if(fp == NULL) perror("fopen");

else printf("opened");

getchar();

fclose(fp);


(teszt2.c)

És a másikban ugyanez található mint a teszt.c-ben de ugyanúgy megtudja nyitni írásra.


Esetleg valamit át kellene állítani, hogy egy fájlt csak egyszer tudjon megnyitni írásra?



2018. ápr. 1. 15:35
 1/2 anonim ***** válasza:

"de nálam ugyanúgy megnyitja 2x írásra mind a két program."


Még jó, hogy ..

Képzeld el egyí szerveren. Valaki megnyit egy számláló file-t és addig a többi sorbaáll?


Lockolni kell a file-t, tehát az a fontos csak, hogy opre szintjén ne írhassanak bele többen egyszerre, egyidejűleg.

2018. ápr. 1. 15:39
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

Op.rendszertől is függ, de pl.:


"An exclusive create-and-open mode ("…x" suffix) for fopen. This behaves like O_CREAT|O_EXCL in POSIX, which is commonly used for lock files."

[link]


Vagy pl: flock(..)

2018. ápr. 1. 21:25
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!