博客專欄

EEPW首頁 > 博客 > Linux C - C基礎(chǔ)篇二(基本的輸入輸出)

Linux C - C基礎(chǔ)篇二(基本的輸入輸出)

發(fā)布人:嵌入式Linux 時(shí)間:2023-01-11 來源:工程師 發(fā)布文章

學(xué)習(xí)Linux c最好用的工具就是man工具了,可以查看c庫函數(shù)的原型、參數(shù)、返回值等詳細(xì)信息。

1. putchar()函數(shù)
  • 函數(shù)原型:int putchar(int c)

  • 功能:向終端輸出一個(gè)字符

  • 參數(shù)c:整型(即字符的ascii) / 字符 / 整型表達(dá)式

  • 返回值:輸出的字符的ascii碼值

2. getchar()函數(shù)
  • 函數(shù)原型:int getchar();

  • 功能:從終端輸入一個(gè)字符

  • 參數(shù):無

  • 返回值:返回的是輸入的字符的ascii碼值

3. printf()函數(shù)
  • int printf(const char *format, ...);

  • 功能:按指定格式向顯示器輸出數(shù)據(jù)

格式字符:%[+/-][m.n]d

m表示打印數(shù)據(jù)的列寬,如果m小于數(shù)據(jù)位寬,數(shù)據(jù)按實(shí)際輸出,如果m大于數(shù)據(jù)位寬,在數(shù)據(jù)左邊補(bǔ)空格。n代表小數(shù)的位數(shù)。+代表打印一個(gè)+號。- 代表左對齊,空格補(bǔ)在右邊。

打印格式:

4. scanf()函數(shù)
  • int scanf(const char * format, ...)

  • 功能:從終端讀取任意類型的數(shù)據(jù)

  • 參數(shù):format 格式控制字符串,%d %s %c....; ...地址符列表

  • 返回值:成功讀取數(shù)據(jù)的個(gè)數(shù),出錯(cuò)返回EOF

回收垃圾字符:

scanf("%c%c%c", &a, &b, &c) ,當(dāng)在終端輸入a b c時(shí),得到的是a=a, b= , c = b;作為分隔符的空格或者回車在這里其實(shí)是垃圾字符。

方法1: 加空格scanf("%c %c %c", &a, &b, &c) 可以匹配吃掉任意數(shù)量的空格,tab,回車鍵。

方法2: 加%*c scanf("%c%*c%c%*c%c", &a, &b, &c) 可以匹配吃掉一個(gè)空格、tab、回車鍵。

方法3: 在scanf("%c", &a)后面加上getchar函數(shù)可以回收垃圾字符。

5. gets()從終端讀取一個(gè)字符串
  • char *gets(char *s);

  • 功能:從終端讀取一個(gè)字符串

  • 參數(shù)s: 緩存區(qū)的首地址.,用來保存讀到的字符串的空間

  • 返回值:成功返回緩沖區(qū)的首地址;失敗,返回NULL

int buf[10] = {};

gets(buf);

注意:一般不建議使用gets,因?yàn)椴粰z查目的地址的空間大小,容易發(fā)生越界。

6. puts() 向終端輸出一個(gè)字符串
  • char puts(const char *s);

  • 功能:向終端輸出一個(gè)字符串. 默認(rèn)加換行符

  • 參數(shù):要輸出的字符串的首地址

  • 返回值:成功返回非負(fù)數(shù),出錯(cuò)返回-1

用法:puts("hello world");

以上是老韓關(guān)于Linux c基礎(chǔ)的總結(jié),如有不足歡迎指點(diǎn);對Linux c或者Linux驅(qū)動感興趣的朋友可以收藏關(guān)注,我會持續(xù)更新的,謝謝支持!


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: Linux C

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉