![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Q med status () | JamesGoh | High Level Programming | 3 | 09-11-2008 10:30 |
| Stat | gajju | UNIX för avancerade & Expertanvändare | 6 | 09-08-2008 10:55 |
| Kan inte stat? | lgardner | UNIX for Dummies Frågor & Svar | 1 | 05-27-2005 05:05 |
| Stat kommandot | emreatlier | Shell-programmering och Skript | 2 | 08-14-2003 05:03 |
| status () misslyckas! Vad kan jag göra? | solvman | High Level Programming | 3 | 02-06-2002 05:17 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
#1 (permalänk)
|
||||
|
||||
|
Hej alla,
Jag har scenario här, i min C-program jag kontrollera status för ett ärende som Stat (fname, & stat_buf); Om det har lyckats, kommer jag att processen annars kommer jag att göra mitt program att misslyckas. Filen som jag kontroll har ingen status information. Vad kan vara orsaken, fil har ingen status information även om man har alla uppgifter läses in Jag använder HP UNIX (sys05 nmx: / pmx/d4>) ll 173_i.001-rw-rw-rw-1 pmx00 pmx 4941517719 oktober 6 13:37 173_i.001 (sys05 nmx: / pmx/d4>) status 173_i.001Kan inte lstat 100373_ipd.001 Snälla hjälp, stat fungerar för alla andra filer, bara för den här filen det fungerar inte vad som kan vara orsaken. Tack på förhand Arun |
|
#2 (permalänk)
|
||||
|
||||
|
Den stat () funktionsanrop returneras -1 om felet. Är du kontrollera returkod? Sedan finna vad errno referenser för att producera ett meningsfullt felmeddelande? perror () kommer att göra det åt dig. lstat () fungerar på symlinks bara - du är inte ringer lstat? Även om ditt felmeddelande säger så. Dessa är de två samtalen du ska använda. status () är ett mer sannolikt val. Kod:
int stat(const char *path, struct stat *buf); int fstat(int filesdes, struct stat *buf); |
|
#3 (permalänk)
|
||||
|
||||
|
Det här är min kod
ret \u003d status (fname, & stat_buf); if (ret \u003d\u003d 0) återgå & stat_buf; annan ( fprintf (stderr, "status: Det går inte att få filsystem information \ n"); fprintf (stderr, "status: Nuvarande fil% s \ n", fname); perror ( "status"); abort (); ) Nedanstående är felet status: Kan inte få filsystem information status: Nuvarande fil / pmx/d4/173_i.001 status: Värde för stor för att lagras i datatyp sm_au3 [336]: 4740 Abort (coredump) Jag försöker att hitta den stat till en fil med storleken 4,60215 GB, är det caousing problemet, Jag menar filstorleken är ett problem?? Tack på förhand Arun |
|
#4 (permalänk)
|
||||
|
||||
|
Du har en largefiles problem. Base status har en size_t st.size inslag. Den kan hantera upp till max un unsigned Loing värde kan lagra. Om produktionen av detta: Kod:
getconf ULONG_MAX är mindre än storleken på filen så är det ditt problem. Du måste göra vissa behandlingen den stora filer för ditt system - det kan finnas en stat64 eller fstat64 samtal som kommer att hantera frågan. Vilket OS? |
|
#5 (permalänk)
|
||||
|
||||
|
Tack för ditt svar
Detta är i HP UNIX |
|
#6 (permalänk)
|
||||
|
||||
|
DÃ¥ du har stat64 (), fopen64 () etc.
Mannen stat64 kommer att förklara det. |
|
#7 (permalänk)
|
|||||
|
|||||
|
Gör en webbsökning för LFS (stor fil toppmötet) för mer information om filstorlek begränsningar för ILP32 datamodeller och hur detta problem skulle lösas.
|