fgets
char * fgets(charArray, lengthLimit, filePtr)
int lengthLimit = 20;
char str1[lengthLimit];
printf("Enter a sentence: ");
fgets(str1, lengthLimit, stdin);
int len = strlen(str1);
str1[len - 1] = ' ';
printf("The entered sentence is: %sn", str1);
从控制台读取键盘输入的一行,读取lengthLimit个字符或遇到换行符终止
strlen()函数:从第一个字符开始计数,直到遇到空字符’ ’为止,不包括’ ’,返回长度 17
未达长度限制时,换行符替换成终止符
达长度限制时,最后一个字符自动被替换成终止符
#includeint main() { char str[5]; fgets(str, 5, stdin); for(int i = 0;i < 5; ++ i) { if(str[i] == ' ') printf("\0"); else if(str[i] == 'n') printf("\n"); else printf("%c",str[i]); } return 0; }
出现异常 fgets() 函数返回NULL
================================
C语言中 string 就是 字符数组,尾部置 ‘ ’ 终止符且其不被打印
char myStr[5] = {‘a’, ’b’, ’c’, ’d’, 0};
char myStr[10]=“birdbath”;
char myStr[]=“birdbath”;
char myWord[80];
printf("Enter a word: ");
scanf("%79s", myWord);
myWord[79] = ' ';
printf("The entered word is: %sn", myWord);
遇到空格或读取79个字符终止
#include#include int main(){ char myWord[80]; char mySentence[80]; printf("Enter a word: "); scanf("%79s", myWord); myWord[79] = ' '; printf("The entered word is: %sn", myWord); // fflush(stdin); // windows setbuf(stdin, NULL); // linux printf("Enter a sentence: "); fgets(mySentence, 80, stdin); int len = strlen(mySentence); mySentence[len - 1] = ' '; printf("The entered sentence is: %sn", mySentence); }



