工作過程中遇到的問題記錄

2021-07-03 21:26:16 字數 1758 閱讀 3933

一、除錯過程中遇到的問題:

硬體:arm9

系統:linux

1、使用的sqlite3 資料庫:

在向某個表中插入列時,遇到插入的當前值為空時,顯示插入錯誤;就是向表中插入的資料的值不能為空。

注:空和null不相等。插入null時是正確的。

2、函式:

a)、snprintf(),為函式原型int snprintf(char *str, size_t size, const char *format, ...);

b)、功能:

將可變個引數(...)按照format格式化成字串,然後將其複製到str中

(1) 如果格式化後的字串長度 < size,則將此字串全部複製到str中,並給其後新增乙個字串結束符('\0');

(2) 如果格式化後的字串長度 >= size,則只將其中的(size-1)個字元複製到str中,並給其後新增乙個字串結束符('\0'),返回值為欲寫入的字串長度。

3、printf "%.*s":

小數點.後「*」表示輸出位數,具體的資料來自參數列

printf格式字串中,與寬度控制和精度控制有關的常量都可以換成變數,方法就是使用乙個「*」代替那個常量,然後在後面提供變數給「*」。

同樣,小數點.前也可以新增*,也要使用者輸入乙個位寬值來代替,表示輸出的字元所佔位寬。

#include 

#include

int main()

輸出結果為:

this is te

----------this is te//-代表空格

15  10 //輸入

-----this is te

注:printf的一般形式為printf("格式控制字串",輸出列表),格式控制字串形式為:[標誌][輸出最小寬度][.精度][長度]型別。

其中方括號中的項為可選項。 各項的意義介紹如下: 

1)型別:型別字元用以表示輸出資料的型別,其格式符和意義如下表所示: 

d  以十進位制形式輸出帶符號整數(正數不輸出符號) 

o  以八進位制形式輸出無符號整數(不輸出字首 0) 

x,x  以十六進製制形式輸出無符號整數(不輸出字首 ox) 

u  以十進位制形式輸出無符號整數 

f  以小數形式輸出單、雙精度實數 

e,e  以指數形式輸出單、雙精度實數 

g,g  以%f 或%e 中較短的輸出寬度輸出單、雙精度實數 

c  輸出單個字元 

s  輸出字串 

2)標誌:標誌字元為-、+、#、空格四種,其意義下表所示: 

-  結果左對齊,右邊填空格 

+  輸出符號(正號或負號) 

空格  輸出值為正時冠以空格,為負時冠以負號 

#  對 c,s,d,u類無影響;對 o 類,在輸出時加字首 o;對 x 類,在輸出時加字首 0x;對 e,g,f 類當結果有小數時才給出小數點 

3)輸出最小寬度:用十進位制整數來表示輸出的最少位數。 若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或 0。 

4)精度:精度格式符以「.」開頭,後跟十進位制整數。本項的意義是:如果輸出數字,則表示小數的位數;如果輸出的是字元,則表示輸出字元的個數;若實際位數大於所定義的精度數,則截去超過的部分。 

5)長度:長度格式符為 h,l 兩種,h 表示按短整型量輸出,l 表示按長整型量輸出。

注:printf("%04d", max);//輸出的結果寬度為4位,不足4位時,左邊用0補全。



工作過程中問題彙總

學習工作中還是養成隨手記錄問題的好習慣,為了後面提高效率,防止遇到重複問題,在此記錄工作中遇到的問題以及解決方法。1 ubuntu gcc編譯成功,交叉編譯還是報錯 gles gl2.h no such file。這個問題是我第二次遇到了,第一次花了半天解決了,這次又遇到了,時隔乙個月,又不知道 的...

除錯跟蹤演算法 ECO過程中遇到的問題記錄

隨著深度學習的不斷發展,視覺跟蹤領域也慢慢被其占領,說來這也是好訊息。傳統的方法各種人工特徵提取器,真是五花八門,而有了cnn,簡單明瞭,乙個強大的綜合的特徵提取器。github中有c 也有matlab matlab版本相對而言容易除錯,輕鬆上手。而c 的程式略微複雜一些。c 版 matlab版 問...

Nginx配置過程中問題記錄

1,許可權不夠重點內容 3 一台機器下配置多個tomcat和nginx,測試負載均衡 步驟 安裝tomcat,複製乙個副本,修改server.xml中的埠號,防止埠衝突 開啟service.bat,新增catalina home catalina base,啟動此服務即可。4 nginx的負載均衡 ...