» »

[C] - spreminjanje atributov datotek

[C] - spreminjanje atributov datotek

pijavka ::

Ali mogoče kdo ve, kako se v progamskem jeziku C spremeni atribut določeni datoteki (Windows)? Torej, naredim en *.txt file in rad bi, da ga windowsi privzeto vidijo kot hidden.
  • spremenilo: pijavka ()

Vesoljc ::

atributi so OS odvisni, tako da "native" funkcij ni...
ce si na win platformi, mas SetFileAttribute se mi zdi
Abnormal behavior of abnormal brain makes me normal...

pijavka ::

Hvala. Našel sem tale članek o tem.
Samo sedaj ne vem kako ga uporabiti, oz. kam ga umestiti.

Primer:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *f;
    f = fopen("test.txt", "w");
    fprintf(f, "Example");
    fclose(f);
    return 0;
}


Kaj pa sedaj s tem delom? Tu sem nastavil file path in na hidden:
BOOL WINAPI SetFileAttributes(
  __in  LPCTSTR test.txt,
  __in  DWORD FILE_ATTRIBUTE_HIDDEN
);


Kam ga vnesti v zgornji program?

Zgodovina sprememb…

  • spremenilo: pijavka ()

Vesoljc ::

med tem ko mas file odprt, bo verjetno fail-ala, naceloma po tem ko file zapres
Abnormal behavior of abnormal brain makes me normal...

Senitel ::

pijavka je izjavil:

Kaj pa sedaj s tem delom? Tu sem nastavil file path in na hidden:
BOOL WINAPI SetFileAttributes(
__in LPCTSTR test.txt,
__in DWORD FILE_ATTRIBUTE_HIDDEN
);

Upam, da se motim, ampak a to razumeš kaj je prototip funkcije in kako se funkcijo dejansko kliče?

Zgodovina sprememb…

  • zavaroval slike: Senitel ()

pijavka ::

Funkcije v Cju so mi jasne, vem kako se kličejo, samo ta WINAPI pa ne (zgleda mi novo, ne znam uporabiti, ker še nisem srečal primera).

Senitel ::

Torej ko v C-ju vidiš:
int dosomething(int a, int b)

Boš to klical takole:
int dosomething(int 10, int 13)

?

pijavka ::

tako:
dosomething(10, 13);

pijavka ::

Moti me, da sem do sedaj videl funkcije recimo tako definirane:

int dosomething(int a, int b){
...
...
}


in potem si jo klical. Ta pa drugače izgleda.

Senitel ::

In kaj potem če drugače izgleda?

pijavka ::

Drugače v smislu, da ima navadne oklepaje namesto zavitih. Ne znam je klicat oz. uporabit. Vem, da moram vključit tudi windows.h.

Senitel ::

Kako ima navadne oklepaje namesto zavitih? Zaviti oklepaji so body, navadni so za listo parametrov.
Ti imaš lahko tudi:
blabla tralala hopsasa mojafunkcija(super neki ulala, kuku bla opsa);

Kaj od tega je ime funkcije in kaj njeni parametri?
Funkcija brez bodya je prototip. Torej, če nimaš zavitih oklepajev, je to samo definicija/prototip (implementacija je pač nekje drugje).
Če se ti zdi zgornji primer preveč čuden, eko ti isti primer brez mašil:
const unsigned long mojafunkcija(const int ulala, const long opsa);

Tega še nisi videl?

Zakaj bluzim v tri krasne s tem? Ker ne znaš prebrat funkcije! Zakaj za vraga imaš v tem primeru potrebo prepisovat stvari iz prototipa, če te to v bolj enostavnem primeru ne prime?

pijavka ::

Uh, priznam, tega še nisem videl, da bi bili parametri tako razvlečeni čez več vrstic. Paramtetre sem pa videl samo v smislu int, char, še nikoli __in in DWORD. To me je čisto zmedlo. Zato sem mislil, da je body.
Hvala.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Keylogger

Oddelek: Programska oprema
352656 (1383) Blisk
»

c# seminarska

Oddelek: Programiranje
112678 (2351) tuned
»

JavaScript v PHP-ju

Oddelek: Izdelava spletišč
61046 (831) drola
»

Java pisanje v datoteko

Oddelek: Programiranje
71569 (1475) javaMaster
»

[visual basic 05] - kreiranje datoteke in pisanje vanjo

Oddelek: Programiranje
111519 (1315) gzibret

Več podobnih tem