UNIX網路程式設計讀書筆記 位元組操縱函式

2021-09-06 14:10:58 字數 1001 閱讀 7672

#include void bzero(void *dest, size_t nbytes);

void bcopy(const

void *src, void *dest, size_t nbytes);

int bcmp(const

void *ptr1, const

void *ptr2, size_t nbytes);

返回:0-相等,非0-不相等

bzero將目標中指定數目的位元組置為0;

bcopy將指定數目的位元組從源移到目標;

bcmp比較任意兩個位元組串,若相同則返回值為0,否則返回值為非0.

#include 

void *memset(void *dest, int

c, size_t len);

void *memcpy(void *dest, const

void *src, size_t nbytes);

int memcmp(const

void *ptr1, const

void *ptr2, size_t nbytes);

返回:0-相同,>0或<0-不相同

memset將目標中指定數目的位元組置為值c;

memcpy與bcopy類似,但交換了兩個指標引數的順序,源與目標重疊時,bcopy能正確處理,memcpy的操作結果則是不可知的。這時,必須使用ansi c的memmove函式。

memcmp比較任意兩個位元組串,如果相同則返回0,如果不同則返回乙個非0值,具體是大於0還是小於0則取決於第乙個不等的位元組:若ptr1所指位元組大於ptr2所指位元組,則大於0,否則小於0. 進行比較操作時,假定兩個不等的位元組均為無符號字元(unsigned char)。

Unix網路程式設計讀書筆記(二)

套接字位址結構 typedef uint32 t in addr t struct in addr struct sockaddr in 在使用結構前總是把整個結構置零,是由於sin zero欄位沒有任何作用,只需置零即可。為了是套接字函式在處理位址時具有一定的通用性,套接字函式還定義了通用套接字位...

Unix網路程式設計讀書筆記(四)

unix下共有5種i o模型 阻塞式i o 非阻塞式i o i o復用 select和poll 訊號驅動式i o sigio 非同步i o posix的aio 系列函式 同步i o與非同步i o 同步i o操作導致請求程序阻塞,直到i o操作完成。前4種模型都是同步i o模型,因為其中真正的i o操...

Unix網路程式設計讀書筆記(五)

使用udp編寫的一些常見的應用程式有 dns 網域名稱系統 nfs 網路檔案系統 和snmp 簡單網路關係協議 udp協議的通訊函式分別是sendto與recvfrom函式,函式原型如下 include extern ssize t recvfrom int fd,void restrict buf...