On Mar 23, 12:43 pm, "user923005" wrote:
> On Mar 23, 12:35 pm, ehabaziz2...@gmail.com wrote:
> [snip]
>
> > do
> > {
> > i++;
> > (*cust).cust_name[i]=getchar();} while ((*cust).cust_name[i]!='\n');
>
> do {
> (*cust).cust_name[i++] = getchar();
> } while ((*cust).cust_name[i] != '\n');
>
> Or better yet (by far):
>
> fgets(cust->cust_name, sizeof cust->cust_name, stdin);
>
> [snip]
Probably better yet is Jack Klein's getsafe() function, which will
remove the trailing newline character:
#include
#include
char *getsafe(char *buffer, int count)
{
char *result = buffer, *np;
if ((buffer == NULL) || (count < 1))
result = NULL;
else if (count == 1)
*result = '\0';
else if ((result = fgets(buffer, count, stdin)) != NULL)
if (np = strchr(buffer, '\n'))
*np = '\0';
return result;
}
|