#include <sys/syscall.h>
#define BUFSIZE 1024
main()
{
char buf[BUFSIZE];
int n;
while((n=read(0,buf,BUFSIZE))>0)
write(1,buf,n);
return 0;
}
Когда я скомпилирую это с помощью gcc, все в порядке. Но использование г ++ я получил:Gcc и g ++ different on write()
inandout.c:7:32: error: ‘read’ was not declared in this scope
while((n=read(0,buf,BUFSIZE))>0)
^
inandout.c:8:22: error: ‘write’ was not declared in this scope
write(1,buf,n);
^
Почему?
читать и писать в unistd.h, вам повезло на C, или есть какой-то угол, я знаю. – Guido
Попробуйте '#include' –
smac89
Потому что C и C++ - разные языки .... Это не единственные вещи, на которые должен жаловаться g ++ (подсказка: всегда компилируйте с помощью '-pedantic'). –