使用read(,,)错误创建getchar函数

时间:2014-07-25 17:19:26

标签: c gcc compiler-errors getchar

我写了这本来自K& R书的代码。但我编译它我得到一个错误:

gcc:error:getchar.c:没有这样的文件或目录

gcc:致命错误:没有输入文件

编译终止。

代码:

#include <sys/syscall.h> 
#include <stdio.h> 

int getchar(void)
{
char c;

return (read(0, &c,1) == 1) ? (unsigned char) c : EOF ;

}
main()
{
printf("\nEnter the character you want to getchar:  \n");
getchar();

return 0;
}

2 个答案:

答案 0 :(得分:1)

错误消息告诉您当前目录中没有要编译的文件getchar.c。这可能意味着您不小心将其称为getchar.cgetchar.c,因此您应该仔细查看您所称的内容 - 它可能看起来是正确的,但其中包含额外的不可见字符。 / p>

最简单的修复可能是在编辑器中打开文件,然后&#34;另存为&#34;并输入一个没有不可见字符的名称。

答案 1 :(得分:0)

如果您只是在Windows环境中编译它

#include <sys/syscall.h>

更改为

#include <io.h>