Interview Question
Developer Program Engineers#include<stdio.h>
#include<string.h>
#define MAX 10
char *getstring(){
char *str,c,*tmp;
int count=MAX,len=0;
str=(char*)malloc(sizeof(char)*count);
c=getchar();
//printf("%c",c);
while(c!='\n'){
*str++=c;
len++;
//printf("%3d",len);
if(len>count){
count=count+MAX;
printf("\n%d",count);
tmp=(char*)malloc(sizeof(char)*count);
strncpy(tmp,str-len,len);
str=tmp+len;
}
c=getchar();
}
*str='\n';
return str-len;
}
main(){
char *s=getstring();
printf("\n%s",s);
}
#include<stdio.h>
#include<string.h>
#define MAX 10
char *getstring(){
char *str,c,*tmp;
int count=MAX,len=0;
str=(char*)malloc(sizeof(char)*count);
c=getchar();
//printf("%c",c);
while(c!='\n'){
*str++=c;
len++;
if(len>count){
count=count+MAX;
tmp=(char*)realloc(str-len,count);
str=tmp+len;
}
c=getchar();
}
*str='\0';
return str-len;
}
main(){
char *s=getstring();
printf("\n%s",s);
}
use getline function in c
- Anonymous July 04, 2011