原创 coap協議說明及函數使用

coap的首部結構 消息頭(HEAD) 第一行是消息頭,必須有,固定4個byte。 Ver : 2bit, 版本信息,當前是必須寫0x01。 T: 2bit, 消息類型,包括 CON, NON. ACK, RST這4種。 TKL

原创 對文件的操作方法

在C中可以利用函數open , read, write, close來實現對文件的打開, 讀寫, 關閉的操作 #include<stdio.h> #include<sys/types.h> #include<sys/stat.h>

原创 ubantu啓動後菜單和app的圖標都消失不見

進入terminal後,輸入 sudo service lightdm restart 重啓 lightdm。 如果上面的不行的話就重裝 unity,依次輸入: sudo apt-get update sudo apt-get i

原创 對結構體強制轉化的理解

c語言經常遇到結構體的強制轉化。 下面通過例子來理解一下 #include<stdio.h> int main(void) { unsigned int i = 3; unsigned int j

原创 atoi 和 itoa 還有sprintf的使用

目的是爲了讓字符數組中16進制數,以字符串的實現體現: int atoi(const char *nptr); int atoi(const char *nptr); atoi 把字符數據轉換爲int類型 char *itoa (

原创 IPv6網絡編程代碼示例

server端 #include<stdio.h> #include<stdlib.h> #include<errno.h> #include<string.h> #include<sys/types.h> #include<ne

原创 IPv4的網絡編程代碼示例

server端 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/types.h> #include<sys/socket.h> #inclu

原创 構造函數和析構函數

在C++中,有一種特殊的成員函數,它的名字和類名相同,沒有返回值,不需要用戶顯式調用(用戶也不能調用),而是在創建對象時自動執行。這種特殊的成員函數就是構造函數(Constructor)。 構造函數沒有返回值,因爲沒有變量來接收返

原创 ubuntu終端顏色

vi ~/.bashrc 註釋下面語句 末行添加: PS1="${debian_chroot:+($debian_chroot)}\[\033[01;36m\]\u\[\033[36m\]@\h:\[\033[01;34m\]

原创 MQTT結構體和庫函數

MQTT的結構體和庫函數 結構體 1.結構體MQTTClient 定義: typedef void* MQTTClient; 含義:代表MQTT客戶端的句柄,成功調用MQTTClient_create函數後會得到有效的客戶端句

原创 線程之間的使用消息對列和進程之間使用消息對列

消息隊列是消息的鏈表,存放在內核中並由消息隊列標識符表示。 消息隊列提供了一個從一個進程向另一個進程發送數據塊的方法,每個數據塊都可以被認爲是有一個類型,接受者接受的數據塊可以有不同的類型 1.msgget 功能:創建和訪問一個消

原创 二維數組作爲參數傳遞

1.在函數中傳遞二維數組,可以用指針的形式,也可用數組的形式,但是一定要每一行的長度(也就是列的個數) 例如:int function(char (*p)[10])或者 int function(char arr[3][10])

原创 單鏈表和雙向循環鏈表實現

單鏈表的各種操作 1 #include<stdio.h> 2 #include<stdlib.h> 3 /*定義鏈表結構體*/ 4 typedef struct student{ 5 int s

原创 函數作爲參數傳遞

1.當函數作爲參數傳遞時,一般使用函數指針 下面是例子 #include<stdio.h> typedef int (*FUNC) (int x, int y);/*定義函數指針,指向參數爲int x ,int y

原创 線程信號量sem

1.使用信號量sem要添加頭文件#include<semaphore.h> sem_init 該函數用於創建信號量,其原型如下: int sem_init(sem_t *sem, int pshared, unsigned int