linux C 打印錯(cuò)誤信息和標(biāo)準(zhǔn)輸入輸出詳細(xì)介紹
Linux 使用strerror 和 perror 函數(shù)來打印響應(yīng)的錯(cuò)誤信息 ,這兩個(gè)函數(shù)的標(biāo)準(zhǔn)調(diào)用格式說明如下:
#include<string.h> char *strerror(int errnum) #include<stdio.h> void perror(const char *msg)
strerror函數(shù)的返回值是一個(gè)指向消息字符串的指針,這個(gè)消息字符串即為出錯(cuò)信息的字符串
perror函數(shù)沒有返回值,其輸出如下:
“由msg指針指向的字符串” + “:” + errno + “回車換行”
#include<stdio.h> #include<string.h> #include<errno.h> int main(int argc, char *argv[]) { printf("EACCES:%s\n", strerror(EACCES));//打印沒有權(quán)限錯(cuò)誤信息 errno = EHOSTDOWN;//EHOSTDOWN 服務(wù)器關(guān)閉 perror(argv[0]); return 0; }
標(biāo)準(zhǔn)輸入輸出函數(shù)
標(biāo)準(zhǔn)輸出函數(shù)
printf函數(shù)用于將格式化數(shù)據(jù)輸出,其標(biāo)準(zhǔn)調(diào)用格式如下:
#include<stdin.h> printf(const char *format, …);
其參數(shù)是format是一個(gè)字符串,包含字符,字符序列,和格式說明,其中字符部分與字符序列按順序輸出,而格式說明以”%”開始,格式說明是跟隨的相同序號(hào)數(shù)據(jù)按格式說明轉(zhuǎn)換和輸出.
printf函數(shù)的格式說明結(jié)構(gòu)為:%flags_width.precicion_{b|B|l|L}_type
type:用來說明參數(shù)是字符串,字符,數(shù)字或者指針字符
printf函數(shù)的type參數(shù)
type | 輸出結(jié)果 |
---|---|
D | 有符號(hào)十進(jìn)制數(shù) |
U | 無符號(hào)十進(jìn)制數(shù) |
O | 無符號(hào)八進(jìn)制數(shù) |
x | 無符號(hào)十六進(jìn)制數(shù),使用小寫 |
X | 無符號(hào)十六進(jìn)制數(shù),使用大寫 |
f | 格式為[-]ddd.ddd的浮點(diǎn)數(shù) |
e | 格式為[-]ddde+dd的浮點(diǎn)數(shù) |
E | 格式為[-]dddE+dd的浮點(diǎn)數(shù) |
g | 使用f或者e中比較合適形式的浮點(diǎn)數(shù) |
G | 使用f或者E中比較合適形式的浮點(diǎn)數(shù) |
c | 單字符常數(shù) |
s | 字符串常數(shù) |
p | 指針 |
n | 無輸出但在下一參數(shù)所指整數(shù)中寫入字符串 |
% | ”%”字符 |
b,B,l,L用于type之前,說明整型d,i,u,o,x,X的char或者long轉(zhuǎn)換
flags是標(biāo)志
printf函數(shù)flags參數(shù)
flags | 作用 |
---|---|
- | 左對(duì)齊 |
+ | 有符號(hào),數(shù)值總是以正負(fù)號(hào)開始 |
空格 | 數(shù)字總是以符號(hào)或者空格開始 |
* | 忽略 |
width是域?qū)?/p>
precision精度,對(duì)于不同類型的意義不同,可能引起結(jié)尾或者舍入
printf函數(shù)的precision精度
數(shù)據(jù)類型 | 說明 |
---|---|
d,u,o,x,X | 輸出數(shù)字的最小位,輸出數(shù)字超出也不截?cái)辔?,如果超出在左邊,則填入0 |
f,e,E | 輸出數(shù)字的小數(shù)位,末位四舍五入 |
g,G | 輸出數(shù)字的有效位 |
c,p | 無影響 |
s | 輸出字符的最大字符數(shù),超出部分將不顯示 |
標(biāo)準(zhǔn)輸入函數(shù)
scanf函數(shù)用于用戶向程序輸入數(shù)據(jù),其調(diào)用格式如下:
#include<stdin.h> scanf(const char *format,...)
示例:
#include<stdio.h> int main(int argc,char *argv[]) { char str[30]; printf("輸入一個(gè)字符串\n"); scanf("%s", str);//輸入一個(gè)字符串 printf("str=%s\n",str);//打印字符串 int a = -128; printf("%d\n", a);//打印有符號(hào)整數(shù) printf("%u\n", a);//打印無符號(hào)整數(shù) int b = 10; printf("%x\n", b);//打印16進(jìn)制數(shù),小寫 printf("%X\n", b);//打印16進(jìn)制數(shù),大寫 float c = 1.221121; printf("%f\n", c);//打印浮點(diǎn)數(shù) printf("%-.3f\n", c);//打印有效位數(shù)為3,左對(duì)齊的浮點(diǎn)數(shù) return 0;
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
C++實(shí)現(xiàn)FTP綜合應(yīng)用詳解
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)FTP綜合應(yīng)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08C++利用鏈表寫一個(gè)簡(jiǎn)單的棧實(shí)例詳解
這篇文章主要介紹了C++利用鏈表寫一個(gè)簡(jiǎn)單的棧實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05C語言實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01C語言實(shí)現(xiàn)簡(jiǎn)單推箱子小游戲
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)推箱子小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11OpenCV透視變換應(yīng)用之書本視圖矯正+廣告屏幕切換
透視變換是指利用透視中心、像點(diǎn)、目標(biāo)點(diǎn)三點(diǎn)共線的條件,按透視旋轉(zhuǎn)定律使承影面繞跡線旋轉(zhuǎn)某一角度,破壞原有的投影光線束,仍能保持承影面上投影幾何圖形不變的變換。本文將為大家介紹兩個(gè)OpenCV透視變換應(yīng)用,需要的可以參考一下2022-08-08