C gets
gets
gets C stdin 。gets 。 :
char* gets(char *buff);
:
#include <stdio.h>
int main()
{
charstr[30];
while(!str!= gets(str));
printf(“%s
”,str);
return 0;
}
,gets str , , 。
gets
gets , buf , gets 。 , 1111111111111111……………. 1 30, 。
gets
Gets
char* Gets(int maxlen)
, , char*
,
int main()
{
char*p;
p=Gets(18);
}
Gets , , , 。
Gets
char* const Gets(char* const array,int maxlen);
,
int main()
{
charstr[20];
Gets(str,20);
return 0;
}
Gets char* const , , , char str[30] str[0]=’1’, str++ 。
:
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <io.h>
char* Gets(int maxlen)
// maxlen ,
{
int i;
staticchar* str;
char c;
str=(char*)malloc(sizeof(char)*maxlen);
if(!str)
{
perror("memeoryallocation error!
");
return0;
}
else
{
for(i=0;i<maxlen;i++)
{
c=getchar();
if(c!='
')str[i]=c;
elsebreak;
}
str[i]='\0';
returnstr;
}
}
char* const Gets(char* const array,int maxlen)
{
int i;
char c;
for(i=0;i<maxlen;i++)
{
c=getchar();
if(c!='
')array[i]=c;
elsebreak;
}
array[i]='\0';
returnarray;
}
int main()
{
char s[8];
Gets(s,8);
puts(s);
fflush(stdin); // , , Gets
char*p=Gets(8);
puts(p);
return 0;
}