Ich versuche, ein Beispiel für Poll-System Aufruf von Robert Love Buch Linux-System-Programmierung 2. Ausgabe (pg. 60-61). Ich kopierte den Beispielcode in code :: blocks auf ubuntu14.04 und versuchte es zu kompilieren, aber ich erhalte Fehler in Bezug auf stray '/ 342'/210 'und'/222 'in meinem Code.Fehler mit stray ' 342' stray ' 210' stray ' 222' in c-Programm in Linux Systemaufruf
Im Folgenden finden Sie den Code ein: Es wirft Fehler in Zeile 18, wo if (ret == -1)
#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;
}
Die Fehler sind geprüft:
/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|
Nun, ich bin gegangen, durch ähnliche Fragen zu stackoverflow und sie erwähnen das mögliche Problem mit der Umwandlung von ASCII-Zeichen wie Anführungszeichen "". Allerdings habe ich alle Anführungszeichen in der IDE neu geschrieben. Aber es wirft immer noch den gleichen Fehler in der Zeile, in der If (ret == -1) aktiviert ist. Bitte helfen.
es ist nicht wirklich ein Duplikat – userXktape