1. 程式人生 > >使用迴圈讀取輸入行,直到使用者輸入一行空

使用迴圈讀取輸入行,直到使用者輸入一行空

char * s_gets(char *st,int n)函式返回的是一個指向char型別陣列開頭的指標。如果使用者輸入空行,陣列第一個元素是’\0’,判定迴圈結束的條件就應該是*while(s_gets(ch,SIZE)!=’\0’)

 char * s_gets(char *st,int n);//讀取輸入行,最多不能超過n-1個字元
 
 printf("Enter the string(enter empty line to quit):\n");
 while(*s_gets(ch,SIZE)!='\0')
 {...}
 
 char *s_gets(char *st,int n)
{
 char *ret_val;
 int i=0;
 
 ret_val=fgets(st,n,stdin);
 if(ret_val)
 {
  while (st[i]!='\n'&&st[i]!='\0')
   	i++;
  if(st[i]=='\n')	//把使用者輸入的換行符換成空字元
   	st[i]='\0';
  else
   	while(getchar()!='\n')
    	continue;
 } 
 
 return ret_val;
}