#include
#include
#define CHUNKSIZE 100
int main()
{
char *string;
int i=0,c;
string=malloc(sizeof(char)*CHUNKSIZE+1);
if(string==NULL)
{
printf("out of memory");
return 1;
}
while((c=getchar())!=EOF)
{
string[i]=c;
i++;
if(i%CHUNKSIZE==0)
{
string=realloc(string,sizeof(char)*CHUNKSIZE*(i/CHUNKSIZE+1)+1);
if(string==NULL)
{
printf("out of memory");
return 1;
}
}
}
printf("\n\norgin string is:\n%s\n",string);
free(string);
return 0;
}
输入任意长度字符串,CTRL+D结束输入