国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

linux C 打印錯誤信息和標(biāo)準(zhǔn)輸入輸出詳細(xì)介紹

2020-01-26 14:19:48
字體:
供稿:網(wǎng)友

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;

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 莆田市| 灵川县| 南郑县| 天等县| 遵义县| 山西省| 雅江县| 成都市| 汝州市| 新竹市| 井研县| 丰城市| 安泽县| 福州市| 青田县| 鸡西市| 娄烦县| 龙门县| 永康市| 承德县| 海淀区| 武隆县| 磐石市| 南岸区| 二手房| 松阳县| 如皋市| 新泰市| 英山县| 巧家县| 张北县| 上饶县| 广饶县| 城步| 淳化县| 黄梅县| 保康县| 新巴尔虎左旗| 永安市| 温州市| 平昌县|