2016-07-13 3 views
0

로버트 러브 (Robert Love)의 저서 "Linux system programming 2nd edition"에서 폴링 시스템 호출에 대한 예제를 시도하고 있습니다. 60-61). 나는 예제 코드를 code :: blocks에 복사하여 우분투 14.04에 복사하고 컴파일하려고했지만 '/ 342'/ '210'과 '/ 222'와 같은 오류를 내 코드에 넣는다. Linux 시스템 호출에서 ' 342'이탈로 인한 ' 210'이탈 ' 210'C 시스템 프로그램에서의 오류

다음

코드입니다 : 그것은 경우 (RET == -1) 체크 라인 (18)에 오류가 발생

#include <stdio.h> 
#include <unistd.h> 
#include <poll.h> 
#define TIMEOUT 5 
/* poll timeout, in seconds */ 
int main (void) 
{ 
    struct pollfd fds[2]; 
    int ret; 
    /* watch stdin for input */ 
    fds[0].fd = STDIN_FILENO; 
    fds[0].events = POLLIN; 
    /* watch stdout for ability to write (almost always true) */ 
fds[1].fd = STDOUT_FILENO; 
fds[1].events = POLLOUT; 
/* All set, block! */ 
ret = poll(fds,2,TIMEOUT*1000); 
if (ret == −1) { 
perror("poll"); 
return 1; 
} 
if (!ret) { 
printf ("%d seconds elapsed.\n", TIMEOUT); 
return 0; 
} 
if (fds[0].revents & POLLIN) 
printf ("stdin is readable\n"); 
if (fds[1].revents & POLLOUT) 
printf ("stdout is writable\n"); 
return 0; 
} 

오류는 다음과 같습니다

/home/eelab/sysprog/pollex/main.c|18| error: stray ‘\342’ in program| 
/home/eelab/sysprog/pollex/main.c|18| error: stray ‘\210’ in program| 
/home/eelab/sysprog/pollex/main.c|18| error: stray ‘\222’ in program| 

지금, 나는 갔어요 stackoverflow에 대한 비슷한 질문을 통해 그들은 ""따옴표와 같은 ASCII 문자를 변환 할 때 발생할 수있는 문제를 언급합니다. 그러나, 나는 다시 IDE에서 모든 따옴표를 다시 작성했습니다.하지만 if (ret == -1) 행을 확인한 행에는 여전히 동일한 오류가 발생합니다. 도와주세요.

+0

과의 정말 중복 – userXktape

답변

2

: bro.It 작동 -

+0

감사를 교체

if (ret == −1) { 

에 인쇄 할 수없는 있다 – userXktape