【发布时间】:2016-07-05 09:09:29
【问题描述】:
我正在尝试使用read 实现gecthar,问题是当我将my_getchar() 与printf 一起使用时,我的函数在printf 之前执行。
#ifndef BUFF_SIZE
#define BUFF_SIZE 1023
#endif
int my_getchar(void)
{
static char buff[BUFF_SIZE];
static char *chr;
int ret;
if ((ret = read(STDIN_FILENO, buff, BUFF_SIZE)) > 0)
{
chr = buff;
return (*chr);
}
return (EOF);
}
在我的main()
char c;
printf("Enter character: "); // if I put '\n' line here, it works fine
c = my_getchar();
printf("Character entered: ");
putchar(c);
我该如何解决这个问题?
【问题讨论】:
标签: c