![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| High Level Programming Post frågor om C, C + +, Java, SQL och andra programmeringsspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Hur öka Buffertstorlek i Unix | ziabegg | UNIX for Dummies Frågor & Svar | 3 | 01-05-2007 03:17 |
| buffert cachestorlek | gsr_kashyap | Red Hat | 0 | 09-07-2006 02:34 |
| Pipe Buffertstorlek | janet | AIX | 0 | 08-29-2006 08:30 |
| Vad är mitt UDP skicka / recieve buffertstorlek | nhatch | UNIX for Dummies Frågor & Svar | 3 | 01-26-2005 05:52 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
#1 (permalänk)
|
||||
|
||||
|
Använda fread om buffertstorlek är inte känt
Hej ...
Jag försöker läsa en binär data som har olika typer av meddelanden i olika längder. Jag använder fread () men detta fungerar behöver storlek och räkna för att läsa bufferten från filen. Jag tror att detta kan orsaka att bufferten överlappar andra meddelanden. Finns det ett alternativ att läsa från en binär fil utan att specificera längden? |
|
#2 (permalänk)
|
|||||
|
|||||
|
fread läser data och placera den i matriser som du kan fördela. Storleken och nitems berätta fread hur mycket utrymme som avsatts för att arbeta med. Utan dem, uppgifterna kan komma att svämma över din buffert och GREJOR andra data. Detta är den "buffer overflow" bugg som hackare älskar att se på ett program.
Ja, du kan använda gets (). Det finns inget sätt att ange en längd för att få. Om det svämmar din buffert, tuff. Men skriver blir () så det är var ett stort misstag. Och om du använder det, du också gör ett stort misstag. |