Posted on 2010-11-22 21:11
Kevin_Zhang 閱讀(280)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
C/C++
c語(yǔ)言中字符串的輸入一般有 scanf(),getch(),getchar(),gets(),getline()。這些函數(shù)都是實(shí)現(xiàn)從鍵盤(pán)輸入的標(biāo)準(zhǔn)輸入方式。但是卻有一些區(qū)別:
gets()函數(shù)用來(lái)從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤(pán))讀取字符串直到回車(chē)結(jié)束, 但回車(chē)符不屬于這個(gè)字符串,其中字符串中可以有空字符。例如:
char s[50];
gets(s);
scanf("%s", &s)與 gets(s)函數(shù)相似, 但不完全相同, 使用scanf("%s", &s)函數(shù)輸入字符串時(shí)存在一個(gè)問(wèn)題, 就是如果輸入了空格會(huì)認(rèn)為輸入字符串結(jié)束,空格后的字符將作為下一個(gè)輸入項(xiàng)處理, 但gets() 函數(shù)將接收輸入的整個(gè)字符串直到回車(chē)為止。
getch()函數(shù)是從標(biāo)準(zhǔn)輸入設(shè)備中讀取一個(gè)字符,但這個(gè)字符不會(huì)在終端中顯示出來(lái)。
getchar()函數(shù)也是從標(biāo)準(zhǔn)輸入設(shè)備中讀取一個(gè)字符,但這個(gè)字符在終端中顯示出來(lái)。
getline()函數(shù)是讀取一行的字符串。