c ++ - læsning/skrivning af filer ved hjælp af andet end et håndtag

Indlæg af Hanne Mølgaard Plasc

Problem



Et spørgsmål kom op på jobbet, hvor jeg ikke er sikker på svaret. Antag, at der er et håndtag i en proces til en mappe. Håndtaget har RW sæt og lad os sige det peger på skrivebordet. Er der en måde at bruge andet end håndtaget for at læse eller skrive filer til skrivebordet?


Tak for ideer!


Rediger: For at afklare, er dette på Windows og er et filhåndtag, der peger på skrivebordet. Lad os antage, at du allerede kender værdien af ​​håndtaget og søger at bruge det inden for samme proces for at læse/skrive filer til skrivebordet, som det peger på. Enhver kode er tilladt, herunder Windows API.

Bedste reference


Du kan bruge GetFinalPathNameByHandle() på kataloghåndtaget for at få stinavnet, tilføj den fil, du vil skrive på slutningen af ​​den, og brug derefter CreateFile() som normalt. [3] [4]

Andre referencer 1


Standard C og C ++ har ingen mening om en mappe, og derfor er det strenge svar nej .


For at sige noget mere, har vi brug for flere oplysninger. Hvad mener du med et håndtag? Hvilke platforme/biblioteker har du lov til at arbejde med?


Det er heller ikke klart, hvad du mener med 'intet andet end håndtaget.' Funktioner er ikke håndtaget, må du ringe til funktioner?