原创 C++中trim和split方法的實現

       很多其他語言的libary都會有去除string類的首尾空格的庫函數,但是標準C++的庫卻不提供這個功能。但是C++string也提供很強大的功能,實現trim這種功能也不難。 trim(去除首尾空格) 1、使用string

原创 strncmp函數實現

函數功能:字符串比較,比較前n個字符,若遇到結束符'\0'則提前終止比較 返回值: >0 第一個不匹配的字符在str1中的值比在str2中的值高 0 相等 <0 第一個不匹配的字符在str1中的值比在str2中的值低 int my_st

原创 關於malloc(0)返回值的一些看法

題目來自https://www.jobui.com/mianshiti/it/qianrushi/5829/ 以下是原文 下面的代碼片段的輸出是什麼,爲什麼? char *ptr; if ((ptr = (char *)malloc(0)

原创 嵌入式經典筆試題

1、堆和棧的區別 堆上的空間是手動分配和釋放的,棧上的空間是自動分配與釋放的。 棧空間是有限的,堆空間是很大的自由儲存區   2、全局變量與局部變量的區別 作用域不同:全局變量作用域爲整個程序,局部變量作用域爲當前語句塊。 內存存儲方式:

原创 strlen函數實現

要求:不能使用局部變量和全局變量,實現strlen功能 思路:用遞歸實現,遞歸出口條件爲*str=='\0' int strlen(char* str) { assert(str); return *str=='\0'

原创 冒泡排序——函數模板實現

要點: 1、冒泡排序就是從水底(數組尾部),把小的重量輕的,往水面上浮(移到數組頭部) 2、從尾部開始,兩兩比較,若後一個比前一個小,則交換位置。 #include <iostream> using namespace std; t

原创 strstr函數實現——KMP算法

功能: 返回一個指向str1中第一次出現的str2的指針,如果str2不是str1的一部分,則返回一個空指針。 不匹配空字符'\0',遇到空字符即停止。 #include <iostream> #include <cstring> #i

原创 單鏈表——C++模板實現

用模板技術實現鏈表可適用不同類型的數據類型 單鏈表:每個結點只包含該結點存儲的數據以及直接後繼的地址信息 頭結點:頭結點不存儲數據但是存儲下一個結點的地址,只是用來方便遍歷鏈表 這裏的頭結點,需要單獨來處理,因爲當泛指類型爲類類型時,若由

原创 判斷大小端模式

大端小端模式是指高位存放在高地址還是存放在地址值。 大端模式:高位存放在低地址,低位存放在高地址 小端模式:高位存放在高地址,低位存放在低地址 不管是大端還是小端,讀取數據都是從低地址開始讀,因此char類型在大端小端都是一樣的,可以用u

原创 移遠BC26模組連接阿里雲物聯網平臺

第一步:在阿里雲創建設備 登錄阿里雲,沒有賬號的可以自己註冊一個,免費的 1、在產品欄搜索“物聯網設備接入”,點擊進入 2、進入“管理控制檯” 3、“設備管理”→“產品”→“創建產品” 4、創建“高級版” 5、添加設備

原创 解決OpenWrt的ps命令不支持帶參數問題

OpenWrt路由器中使用的busybox內置的ps命令具有令人不愉快的功能,當嘗試指定其他參數時,它會忽略錯誤而不顯示任何錯誤,並且根本不顯示任何數據。不可能教她瞭解經常使用的參數-busybox中唯一可用的選項是w參數,而其他參數則根

原创 shell腳本檢查程序是否掛掉然後重新運行

把該sh加入到開機自啓動文件/etc/rc.local中,即可實現開機自啓動,程序掛掉重新運行。 #!/bin/sh while true do ps -ef | grep "gateway" | grep -v "grep" if [

原创 快速排序——函數模板實現

 要點: 1、大於基準pv的數放在一邊,小於pv的放在另一邊. 2、Partition函數返回基準數的位置pivot 對基準的左邊快排Quick(array, begin, pivot-1); 對基準的右邊快排Quick(array, p

原创 strcmp函數實現

函數功能:把 str1 所指向的字符串和 str2 所指向的字符串進行比較。 返回值: 如果返回值小於 0,則表示 str1 小於 str2。 如果返回值大於 0,則表示 str1 大於 str2。 如果返回值等於 0,則表示 str1

原创 KMP算法

  #include <iostream> #include <cstring> #include <cstdlib> using namespace std; //p:子串 int* make_ptm(const char* p)