ctf知識 C庫中的sprintf 函式

2021-10-03 12:31:09 字數 1938 閱讀 6890

c 庫函式int sprintf(char *str, const char *format, ...)傳送格式化輸出到str所指向的字串。

下面是 sprintf() 函式的宣告。

int

sprintf

(char

*str,

const

char

*format,..

.)

specifier(說明符)輸出c

字元d 或 i

有符號十進位制整數

e使用 e 字元的科學科學記數法(尾數和指數)

e使用 e 字元的科學科學記數法(尾數和指數)

f十進位制浮點數

g自動選擇 %e 或 %f 中合適的表示法

g自動選擇 %e 或 %f 中合適的表示法

o有符號八進位制

s字元的字串

u無符號十進位制整數

x無符號十六進製制整數

x無符號十六進製制整數(大寫字母)

p指標位址

n無輸出%字元

flags(標識)描述-

在給定的字段寬度內左對齊,預設是右對齊(參見 width 子說明符)。

+強制在結果之前顯示加號或減號(+ 或 -),即正數前面會顯示 + 號。預設情況下,只有負數前面會顯示乙個 - 號。

(space)

如果沒有寫入任何符號,則在該值前面插入乙個空格。

#與 o、x 或 x 說明符一起使用時,非零值前面會分別顯示 0、0x 或 0x。

與 e、e 和 f 一起使用時,會強制輸出包含乙個小數點,即使後邊沒有數字時也會顯示小數點。預設情況下,如果後邊沒有數字時候,不會顯示顯示小數點。

與 g 或 g 一起使用時,結果與使用 e 或 e 時相同,但是尾部的零不會被移除。

0在指定填充 padding 的數字左邊放置零(0),而不是空格(參見 width 子說明符)。

width(寬度)

描述(number)

要輸出的字元的最小數目。如果輸出的值短於該數,結果會用空格填充。如果輸出的值長於該數,結果不會被截斷。

*寬度在 format 字串中未指定,但是會作為附加整數值引數放置於要被格式化的引數之前。

.precision(精度)

描述.number

對於整數說明符(d、i、o、u、x、x):precision 指定了要寫入的數字的最小位數。如果寫入的值短於該數,結果會用前導零來填充。如果寫入的值長於該數,結果不會被截斷。精度為 0 意味著不寫入任何字元。

對於 e、e 和 f 說明符:要在小數點後輸出的小數字數。

對於 g 和 g 說明符:要輸出的最大有效位數。

對於 s: 要輸出的最大字元數。預設情況下,所有字元都會被輸出,直到遇到末尾的空字元。

對於 c 型別:沒有任何影響。

當未指定任何精度時,預設為 1。如果指定時不帶有乙個顯式值,則假定為 0。

.*精度在 format 字串中未指定,但是會作為附加整數值引數放置於要被格式化的引數之前。

length(長度)描述h

引數被解釋為短整型或無符號短整型(僅適用於整數說明符:i、d、o、u、x 和 x)。

l引數被解釋為長整型或無符號長整型,適用於整數說明符(i、d、o、u、x 和 x)及說明符 c(表示乙個寬字元)和 s(表示寬字元字串)。

l引數被解釋為長雙精度型(僅適用於浮點數說明符:e、e、f、g 和 g)。

如果成功,則返回寫入的字元總數,不包括字串追加在字串末尾的空字元。如果失敗,則返回乙個負數。

下面的例項演示了 sprintf() 函式的用法。

#include

#include

intmain()

讓我們編譯並執行上面的程式,這將產生以下結果:

pi 的值 = 3.141593

CTF中web中的快速反彈

小白最近想學習一下python但是一直看文件也不是個辦法,於是決定去做一下題來快速地提公升一下自己 需要模組 requests 第一步 在windows上安裝requests模組。首先cmd進入python資料夾,在cd進入scripts資料夾,然後再輸入 pip install requests ...

CTF中pwn的入門指南

ctf中的pwn指的是通過通過程式本身的漏洞,編寫利用指令碼破解程式拿到主機的許可權,這就需要對程式進行分析,了解作業系統的特性和相關漏洞,是是乙個難度比較大的分支。接下來介紹相關的學習思路 自己總結的,當作參考 pwn相對於web,更需要專業的技能和知識,最主要的是要學會如何分析程式,這就需要有足...

CTF比賽中關於zip的總結

參考 這種方法大概是zip中最常見的,多用於在一張中隱藏乙個壓縮包,這種方法的原理是 以jpg格式的為例,乙個完整的 jpg 檔案由 ff d8 開頭,ff d9結尾,瀏覽器會忽略 ff d9 以後的內容,因此可以在 jpg 檔案中加入其他檔案。如 sites wwwroot hexdump use...