Es in ftok erwähnt wird() HandbuchWelche Datei muss ich als Argument Pfadname von ftok() übergeben
key_t ftok(const char *pathname, int proj_id);
Die ftok() Funktion verwendet, um die Identität des durch den gegebenen Pfadnamen benannte Datei (das muss beziehen sich auf eine vorhandene, zugängliche Datei) ...
Ich bin verwirrt über const char *pathname
.
Was wäre die beste Praxis dafür? Auf meinem aktuellen System kann ich "/home/Andrew/anyfile"
übergeben, aber es ist nicht möglich, dass andere Systeme, auf denen mein Programm arbeiten muss, diese Datei haben.
Wie benutze ich "/etc/hosts/"
oder "/etc/inittab"
, weil ich sicher bin, dass alle diese Systeme diese beiden Dateien haben werden? Ist es eine gute Idee? Kann es ein Problem verursachen?
Ich möchte den Benutzer nicht bitten, den Dateinamen zum Zeitpunkt der Ausführung einzugeben oder den Dateinamen als Befehlszeilenargument zu übergeben.
Gibt es noch einen anderen und besseren Weg zu entscheiden pathname
?
Welcher Weg ist der beste und zuverlässigste?
Danke für Ihre Zeit.
Besserer Weg für was? Verlässlich für was? - Vielleicht ist es besser, eine Aufgabe zu beschreiben, für die ftok verwendet werden soll? – pmod
@Pmod: Eigentlich brauche ich eine Warteschlange, damit meine beiden Programme miteinander kommunizieren können. Die Sache, die mich wirklich verwirrt hat, ist die, welche Datei ich an ftok() übergeben sollte, die immer vorhanden sein wird. [Diese Antwort] (http://stackoverflow.com/questions/3155291/which-file-should-i-pass-as-pathname-argument-of-ftok/3155312#3155312) sagt, dass es in Ordnung ist, '' zu übergeben/etc''. Wenn das so ist, warum Leute andere Dateien weitergeben? Ist es nicht einfach, eine der Systemdateien zu übergeben? –
Als wir die ähnliche Aufgabe hatten (organisierte Kommunikation zwischen zwei Programmen in Linux mit Hilfe der Nachrichtenwarteschlange) - wir verwendeten Datei. Das erste Programm (das wie Server ist - läuft immer) erstellt eine Datei mit einer Nachrichten-ID, dann liest das zweite Programm (Benutzerprogramm) die msg-ID aus dieser Datei und erhält Zugriff auf die Warteschlange. – pmod