2010年8月25日 星期三

Read and Write large file(over 2G) in C

If you want to open a large file in Linux


You can try it

Add those flag into your Makefile

-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

Modify you fseek and ftell to fseeko and ftello

Finish

2010年8月10日 星期二

IP的轉換

1、htonl ()和ntohl( )

u_long PASCAL FAR ntohl (u_long netlong);

u_short PASCAL FAR ntohs (u_short netshort);

ntohl( )-----網路順序轉換成主機順序

u_long PASCAL FAR htonl (u_long hostlong);

u_short PASCAL FAR htons (u_short hostshort);

htonl ()-----主機順序轉換成網路順序

2、inet_addr( )和inet_ntoa ( )

unsigned long PASCAL FAR inet_addr (const char FAR * cp);

char FAR * PASCAL FAR inet_ntoa (struct in_addr in);

inet_addr函數需要一個字串作為其參數,該字串指定了以點分十進位格式表示的IP位址(例如:192.168.0.16)。而且inet_addr函數會返回一個適合分配給S_addr的u_long類型的數值。

Inet_ntoa函數會完成相反的轉換,它接受一個in_addr結構體類型的參數並返回一個以點分十進位格式表示的IP位址字串。