linux C 打印錯誤信息和標(biāo)準(zhǔn)輸入輸出詳細(xì)介紹
Linux 使用strerror 和 perror 函數(shù)來打印響應(yīng)的錯誤信息 ,這兩個函數(shù)的標(biāo)準(zhǔn)調(diào)用格式說明如下:
#include<string.h> char *strerror(int errnum) #include<stdio.h> void perror(const char *msg)
strerror函數(shù)的返回值是一個指向消息字符串的指針,這個消息字符串即為出錯信息的字符串
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)限錯誤信息 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是一個字符串,包含字符,字符序列,和格式說明,其中字符部分與字符序列按順序輸出,而格式說明以”%”開始,格式說明是跟隨的相同序號數(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 | 有符號十進(jìn)制數(shù) |
U | 無符號十進(jìn)制數(shù) |
O | 無符號八進(jìn)制數(shù) |
x | 無符號十六進(jìn)制數(shù),使用小寫 |
X | 無符號十六進(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 | 作用 |
---|---|
- | 左對齊 |
+ | 有符號,數(shù)值總是以正負(fù)號開始 |
空格 | 數(shù)字總是以符號或者空格開始 |
* | 忽略 |
width是域?qū)?/p>
precision精度,對于不同類型的意義不同,可能引起結(jié)尾或者舍入
printf函數(shù)的precision精度
數(shù)據(jù)類型 | 說明 |
---|---|
d,u,o,x,X | 輸出數(shù)字的最小位,輸出數(shù)字超出也不截斷尾 ,如果超出在左邊,則填入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("輸入一個字符串\n"); scanf("%s", str);//輸入一個字符串 printf("str=%s\n",str);//打印字符串 int a = -128; printf("%d\n", a);//打印有符號整數(shù) printf("%u\n", a);//打印無符號整數(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,左對齊的浮點(diǎn)數(shù) return 0;
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
上一篇:關(guān)于STL的erase()陷阱-迭代器失效問題的總結(jié)
欄 目:C語言
下一篇:C與C++動態(tài)分配二維數(shù)組的實(shí)現(xiàn)方法
本文標(biāo)題:linux C 打印錯誤信息和標(biāo)準(zhǔn)輸入輸出詳細(xì)介紹
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/1891.html
您可能感興趣的文章
- 01-10深入解析Linux下\r\n的問題
- 01-10Linux線程管理必備:解析互斥量與條件變量的詳解
- 01-10Linux C 獲取進(jìn)程退出值的實(shí)現(xiàn)代碼
- 01-10解析Linux下的時間函數(shù):設(shè)置以及獲取時間的方法
- 01-10深入探討linux下進(jìn)程的最大線程數(shù)、進(jìn)程最大數(shù)、進(jìn)程打開的文
- 01-10基于linux下獲取時間函數(shù)的詳解
- 01-10linux c 查找使用庫的cflags與libs的方法詳解
- 01-10深入探討Linux靜態(tài)庫與動態(tài)庫的詳解(一看就懂)
- 01-10Linux下semop等待信號時出現(xiàn)Interrupted System Call錯誤(EINTR)解決方法
- 01-10C語言調(diào)試手段:鎖定錯誤的實(shí)現(xiàn)方法


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達(dá)式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機(jī)閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10delphi制作wav文件的方法
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10使用C語言求解撲克牌的順子及n個骰子