- N +

調(diào)用gets和puts函數(shù)時,getline函數(shù)用法

大家好,關(guān)于調(diào)用gets和puts函數(shù)時很多朋友都還不太明白,不過沒關(guān)系,因為今天小編就來為大家分享關(guān)于getline函數(shù)用法的知識點,相信應(yīng)該可以解決大家的一些困惑和問題,如果碰巧可以解決您的問題,還望關(guān)注下本站哦,希望對各位有所幫助!

函數(shù)的輸出有哪些表現(xiàn)形式

C語言輸入輸出函數(shù)有很多,標(biāo)準(zhǔn)I/O函數(shù)中包含了如下幾個常用的函數(shù):

scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.

intscanf(constchar*format,arg_list)

scanf主要從標(biāo)準(zhǔn)輸入流中獲取參數(shù)值,format為指定的參數(shù)格式及參數(shù)類型,如scanf("%s,%d",str,icount);

它要求在標(biāo)準(zhǔn)輸入流中輸入類似"sonofbitch,1000"這樣的字符串,同時程序會將"sonofbitch"給str,1000給icount.

scanf函數(shù)的返回值為int值,即成功賦值的個數(shù),在上例中如果函數(shù)調(diào)用成功,則會返回2,所以我們在寫程序時,可以通過

語句if(scanf("%s,%d",str,icount)!=2){...}來判斷用戶輸入是否正確.

intprintf(constchar*format,arg_list)

printf主要是將格式化字符串輸出到標(biāo)準(zhǔn)輸出流中,在stdio.h頭文件中定義了標(biāo)準(zhǔn)的輸入和輸出,分別是stdin,stdout.

arg_list可以是變量名,也可以是表達(dá)式,但最終都會以值的形式填充進(jìn)format中.

intgetc(FILE*fp)

getc主要是從文件中讀出一個字符.常用的判斷文件是否讀取結(jié)束的語句為:(ch=getc(fp))!=EOF.EOF為文件結(jié)束標(biāo)志,

定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當(dāng)fp為stdin

時,getc(stdin)就等同于getchar()了.

intputc(intch,FILE*fp)

putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.

intgetchar(void)

getchar主要是從標(biāo)準(zhǔn)輸入流讀取一個字符.默認(rèn)的標(biāo)準(zhǔn)輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時又

涉及到緩沖的問題,所以并不是在屏幕中敲上一個字符程序就會運行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符

keil工程中printf要添加的頭文件

在Keil工程中使用printf函數(shù)需要添加stdio.h頭文件。該頭文件中定義了一系列輸入輸出函數(shù),包括printf、scanf、puts、gets等。

在使用printf函數(shù)時,需要先定義輸出的格式,然后將要輸出的內(nèi)容作為參數(shù)傳入printf函數(shù)中。在Keil中,可以通過串口或LCD等設(shè)備輸出printf函數(shù)的結(jié)果。在添加頭文件時,需要注意頭文件路徑是否正確,以及是否包含所需的函數(shù)定義。

常用的字符串函數(shù)有哪些

1.puts(字符數(shù)組)輸出

2.gets(字符數(shù)組)輸入

3.strcat(字符數(shù)組1,字符數(shù)組2)字符串2接到字符串1的后面

4.strcpy和strncpy(字符數(shù)組1,字符串2,m)將字符串2的前m個字符拷到str1中,最后加'\0'

5.strcmp(字符串1,字符串2)兩字符串比較

6.strlen(字符數(shù)組)字符串的實際長度(不包括'\0')

7.strlwr(字符串)大寫轉(zhuǎn)換為小寫

8.strupr(字符串)小寫轉(zhuǎn)換為大寫

puts()函數(shù)和gets()函數(shù)的用法是什么

可以不用字符串的#include<stdio.h>#include<ctype.h>intmain(){intc;doputchar(toupper(c=getchar()));while(c!='\n');return0;}linux下測試正常補充:如果在用linux且一定要用字符串的話可以試試char*p;scanf("%m[^\n]",&p)

;//動態(tài)分配puts(p)

;//輸出free(p)

;//釋放內(nèi)存

c語言fputs函數(shù)用法

C語言fputs函數(shù)及其用法詳解

功能:fputs()函數(shù)是用來顯示字符串。

原型:

#include<stdio.h>

intfputs(constchar*s,FILE*stream);

參數(shù)說明:s代表要輸出的字符串的首地址,可以是字符數(shù)組名或字符指針變量名。

stream表示向何種流中輸出,可以是標(biāo)準(zhǔn)輸出流stdout,也可以是文件流。標(biāo)準(zhǔn)輸出流即屏幕輸出,printf其實也是向標(biāo)準(zhǔn)輸出流中輸出的。

fputs()和puts()有兩個小區(qū)別:

puts()只能向標(biāo)準(zhǔn)輸出流輸出,而fputs()可以向任何流輸出。

使用puts()時,系統(tǒng)會在自動在其后添加換行符;而使用fputs()時,系統(tǒng)不會自動添加換行符。

那么這是不是意味著使用fputs()時就要在后面添加一句“printf("\n");”換行呢?看情況!如果輸入時使用的是gets(),那么就要添加printf換行;但如果輸入時用的是fgets(),則不需要。

因為使用gets()時,gets()會將回車讀取出來并丟棄,所以換行符不會像scanf那樣被保留在緩沖區(qū),也不會被gets()存儲;而使用fgets()時,換行符會被fgets()讀出來并存儲在字符數(shù)組的最后,這樣當(dāng)這個字符數(shù)組被輸出時換行符就會被輸出并自動換行。

但是也有例外,比如使用fgets()時指定了讀取的長度,如只讀取5個字符,事實上它只能存儲4個字符,因為最后還要留一個空間給'\0',而你卻從鍵盤輸入了多于4個字符,那么此時“敲”回車后換行符就不會被fgets()存儲。數(shù)據(jù)都沒有地方存放,哪有地方存放換行符呢!此時因為fgets()沒有存儲換行符,所以就不會換行了。

如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

返回列表
上一篇:
下一篇: