函數(shù)名: gets
十載的金安網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整金安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“金安網(wǎng)站設(shè)計”,“金安網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
功 能: 從流中取一字符串
用 法: char *gets(char *string);
程序例:
#include stdio.h
int main(void)
{
char string[80];
printf("Input a string:");
gets(string);
printf("The string input was: %s\n", string);
return 0;
}
函數(shù)名: puts
功 能: 送一字符串到流中
用 法: int puts(char *string);
程序例:
#include stdio.h
int main(void)
{
char string[] = "This is an example output string\n";
puts(string);
return 0;
}
gets函數(shù):從stdin流中讀取字符串,直至讀到換行符或EOF時停止,并將讀取的結(jié)果存放在buffer指針所指向的字符數(shù)組中。
換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為 \0 空字符,并以此結(jié)束字符串;當使用unicode寬字符文本時,請使用寬字符版本函數(shù) _getws()。
gets函數(shù)可以無限讀取,不會判斷上限,所以使用時應(yīng)確保buffer的空間足夠大,以便在執(zhí)行讀取操作時不發(fā)生溢出。
gets函數(shù)在C11標準中被移除,改為更加安全的gets_s函數(shù);頭文件:stdio.h;返回值:若讀入成功,返回與參數(shù)buffer相同的字符指針。
若讀入過程中遇到EOF或發(fā)生錯誤,返回NULL指針。所以當遇到返回值為NULL的情況時,應(yīng)使用ferror或feof函數(shù)檢查是發(fā)生錯誤還是遇到EOF。
擴展資料
#include iostream
#include limits
#include cstdio
using namespace std;
int main()
{
int i_test, c;
printf("Please enter an integer: ");
scanf("%d", i_test);
printf("You just entered %d.\nPress enter to continue...", i_test);
while ( (c = getchar()) != '\n' c != EOF ) ; ?// 清空輸入流
clearerr(stdin); // 清除流的錯誤標記
cin.get(); ?// 等待用戶輸入回車
return 0;
}
1、gets() 函數(shù)是從鍵盤輸入字符串,該函數(shù)只有一個參數(shù)。參數(shù)類型為 char* 型,即 str 可以是一個字符指針變量名,也可以是一個字符數(shù)組名。打開編輯器,新建一個c語言文件,引入標準庫并新建主函數(shù):
2、gets() 函數(shù)的功能是從輸入緩沖區(qū)中讀取一個字符串存儲到字符指針變量 str 所指向的內(nèi)存空間,這里的程序是用gets函數(shù)輸入字符串,可以看到不像scanf那樣需要使用%號,gets函數(shù)中直接傳入字符串即可:
3、最后運行下程序,輸入“i love you”,可以看到gets函數(shù)可以直接輸出空格,而scanf函數(shù)輸出空格則需要使用轉(zhuǎn)義字符實現(xiàn),因此gets函數(shù)的使用要比scanf簡潔的多。以上就是gets函數(shù)使用方法的演示:
在前面從鍵盤輸入字符串是使用 scanf 和 %s。其實還有更簡單的方法,即使用 gets() 函數(shù)。該函數(shù)的原型為:
# include stdio.h
char *gets(char *str);
這個函數(shù)很簡單,只有一個參數(shù)。參數(shù)類型為 char* 型,即 str 可以是一個字符指針變量名,也可以是一個字符數(shù)組名。gets() 函數(shù)的功能是從輸入緩沖區(qū)中讀取一個字符串存儲到字符指針變量 str 所指向的內(nèi)存空間。
下面將前面中使用 scanf 輸入字符串的程序改一下:
# include stdio.h
int main(void)
{
char str[20] = "\0";? //字符數(shù)組初始化\0
printf("請輸入字符串:");
gets(str);
printf("%s\n", str);
return 0;
}
輸出結(jié)果是:
請輸入字符串:i love you
i love you
擴展資料:
從stdin流中讀取字符串,直至接受到換行符或EOF時停止,并將讀取的結(jié)果存放在buffer指針所指向的字符數(shù)組中。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為‘\0’空字符,并由此來結(jié)束字符串。
讀入成功,返回與參數(shù)buffer相同的指針;
讀入過程中遇到EOF(End-of-File)或發(fā)生錯誤,返回NULL指針。所以在遇到返回值為NULL的情況,要用ferror或feof函數(shù)檢查是發(fā)生錯誤還是遇到EOF。
參考資料來源:百度百科-gets
C語言中緩沖區(qū)就是內(nèi)存中開辟的一塊存儲空間。數(shù)組也是一個緩沖區(qū)?;蛘吣阌脙?nèi)存操作函數(shù)自己去開辟一塊內(nèi)存空間也是緩沖區(qū)。下面我們來看看c語言gets的用法。
例:
void test7()
{
char str1[80];
char str2[80];
printf("please input aany 2 sentence:\n");
gets(str1);
scanf("%s",str2);
printf("string1 is:%s\n",str1);
printf("string2 is:%s",str2);
}
int _tmain(int argc, _TCHAR* argv[])
{
test7();
return 0;
}
輸入:hello world
hello world
執(zhí)行結(jié)果為:string1 is:hello world
string2 is :hello
新聞標題:c語言gets函數(shù)用 C語言gets函數(shù)
分享地址:http://sd-ha.com/article10/hieego.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站策劃、網(wǎng)頁設(shè)計公司、App開發(fā)、搜索引擎優(yōu)化、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)