Video: Writing 2D Games in C using SDL by Thomas Lively 2025
Åh, kopiere en fil - noe så enkelt, det skjer hele tiden. Kopier denne filen der kopier den filen her. Men hva skjer akkurat når du kopierer en fil? Du lager faktisk en ny -fil, og fyller den med samme innhold som den opprinnelige filen. Og hvordan gjør du det?
Vel, det høres ut som om du må lese hver byte fra den første filen, og skrive den til den andre. Big-time yuck.
Men for å gjøre saken verre, må du kopiere en fil ved å kopiere den nøyaktig det samme, at du ikke ved et uhell takker en ekstra 0 eller to på slutten av filen, eller en ekstra vognretur eller linjefeed på slutten av filen (som kan skje når du kopierer en tekstfil).
Når alt er gjort, skal de to filene være identiske - ikke bare inneholde samme informasjon , men også samme størrelse .
Og på toppen av alt det gjør de fleste gode kopieringsrutiner enda mer! De gir den nye filen en dato som stemmer overens med datoen for den opprinnelige filen, og de vil angi alle attributter - inkludert, si skrivebeskyttet hvis originalen er en skrivebeskyttet fil. (Hvis filen er skrivebeskyttet, må du kanskje ikke kopiere den i utgangspunktet …)
Det er ikke så lett å kopiere en fil så lett!
Hvis du programmerer i Windows, har du lykke! Så lenge du ikke bruker den gamle Windows 3. 1, får du en CopyFile-funksjon! For å gjøre deg klar til å bruke den, inkluderer du linjen #include i søknaden din. Så her er alt du trenger å gjøre:
CopyFile ("c: / dog. Txt", "c: / dog2. Txt", SANT);
Dette kopierer fra c: / hund. txt til c: / dog2. tekst. Men legg merke til den endelige parameteren: Det er ordet SANT i alle hovedsteder. Hva er det? Det er en preprosessor-makro definert et sted i tarmene i Windows-header-filene.
Du må bruke enten TRUE eller FALSE når du ringer til noen av Windows-funksjonene. Det er fordi i gamle dager C, da de tidlige versjonene av Windows ble oppfunnet, eksisterte ingen bool-type. De ressursrike menneskene i slutten av det 20. århundre måtte definere sine egne TRUE og FALSE som heltall (vanligvis henholdsvis 1 og 0, henholdsvis 0 og 1).
Og forresten, den siste parameteren i CopyFile forteller funksjonen hva som skal gjøres hvis filen du kopierer allerede eksisterer: SANT betyr at overskriften ikke overskriver den eksisterende filen; bare avbryte. FALSE betyr overskriving av det.
