Ich benutze zwei Dateien, die eine sendet, und die andere erhält ein Zeichen mit Pipes und es funktioniert gut, aber ich möchte wissen, wie ich nach dem Erhalt der Nachricht das Zeichen in Ganzzahlen konvertieren und hinzufügen oder subtrahieren basierend auf was ist auf dem char.Wie kann ich zwei Zahlen aus einem Zeichen in C hinzufügen?
Wie kann ich "3 + 4" in 7 parsen?
Hier ist meine write.c
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
int fd;
char * myfifo = "/tmp/myfifo";
/* crear FIFO */
mkfifo(myfifo, 0666);
/* escribir al FIFO */
fd = open(myfifo, O_WRONLY);
write(fd, "3+4", sizeof("3+4"));
close(fd);
/* remover FIFO */
unlink(myfifo);
return 0;
}
Und das ist mein read.c
#include <fcntl.h>
#include <stdio.h>
#include <sys/stat.h>
#include <unistd.h>
#define MAX_BUF 1024
int main()
{
int fd;
char * myfifo = "/tmp/myfifo";
char buf[MAX_BUF];
/* open, read, and display the message from the FIFO */
fd = open(myfifo, O_RDONLY);
read(fd, buf, MAX_BUF);
printf("Received: %s\n", buf);
close(fd);
return 0;
}
Ich vermute, es ist nicht wirklich gut, solange Sie 'write (fd," 3 + 4 ", sizeof (" 3 + 4 "));' statt 'write (...., strlen (" 3 + 4 "));' –
Bitte formatieren/einrücken Sie Ihren Code. –
und zeigen Sie uns, was Sie bis jetzt versucht haben, die Nachricht zu analysieren, die Sie erhalten haben –