Ik heb een struct:
Nu wil ik pcSfn en pcLfn vullen dmv:
(MSDOS_GetLongFileName geeft een char* terug)
pstDirEntry is een pointer daar de directory_entry struct
pcSfn & pcTempLFN = pointer naar char array ( char* )
Dit werkt niet. Hij gaat eerst piepen over dat -> een '.' moet worden (maar dat is niet zo omdat de rest van de variabele ook zo gevuld worden.
Nu heb ik ook getest en dit gedaan:
Ook dit vond hij niet goed. Wat is het probleem.
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| typedef struct _DIRECTORY_ENTRY /* XXX bytes */ { char pcSfn[11]; /* Short File Name */ char pcLfn[256]; /* Long File Name */ u_int8 ubAttrib; /* file attributes */ u_int32 ulBeginCluster; /* begin cluster of file / dir data */ u_int16 usDateCreated; u_int16 usDateModified; u_int16 usTimeCreated; u_int16 usTimeModified; u_int16 usDateAccessed; u_int32 ulSize; u_int8 ubPartitionNumber; /* DE belongs to partition nummer (from array..) */ u_int32 usTopLevelCluster; /* cluster to upper dir (0 if this dir is the root) */ u_int64 ullWrite; /* write pointer of file (in sectors) */ u_int64 ullRead; /* read pointer (in sectors) */ u_int16 usOFlag; /* O-flag */ u_int8 ubSFlag; /* S-flag */ } DIRECTORY_ENTRY; |
Nu wil ik pcSfn en pcLfn vullen dmv:
(MSDOS_GetLongFileName geeft een char* terug)
C:
1
2
3
| pcTempLFN=MSDOS_GetLongFileName (pcSfn, fRoot, usCurrentDirEntry); pstDirEntry->pcSfn = pcSfn; pstDirEntry->pcLfn = pcTempLFN; |
pstDirEntry is een pointer daar de directory_entry struct
pcSfn & pcTempLFN = pointer naar char array ( char* )
Dit werkt niet. Hij gaat eerst piepen over dat -> een '.' moet worden (maar dat is niet zo omdat de rest van de variabele ook zo gevuld worden.
Nu heb ik ook getest en dit gedaan:
C:
1
| pstDirEntry->pcSfn = "test"; |
Ook dit vond hij niet goed. Wat is het probleem.
[ Voor 4% gewijzigd door elgringo op 10-03-2003 09:23 ]
if broken it is, fix it you should