Wie vermeide ich es, globale Variablen zu verwenden, wenn ich nftw benutze?

Ich möchte nftw verwenden, um eine Verzeichnisstruktur in C zu durchlaufen.

Angesichts dessen, was ich tun möchte, sehe ich keinen Weg, um eine globale Variable zu verwenden.

Die Lehrbuchbeispiele für die Verwendung von (n) ftw beinhalten alle das Ausdrucken eines Dateinamens. Ich möchte stattdessen den Pfadnamen und die Dateiprüfsumme nehmen und diese in einer Datenstruktur platzieren. Aber ich sehe keinen guten Weg, dies zu tun, da die Grenzen, die an nftw weitergegeben werden können, begrenzt sind.

Die von mir verwendete Lösung enthält eine globale Variable. Die von nftw aufgerufene Funktion kann dann auf diese Variable zugreifen und die erforderlichen Daten hinzufügen.

Gibt es eine vernünftige Möglichkeit, dies zu tun, ohne eine globale Variable zu verwenden?

Hier ist der Austausch im vorherigen Beitrag über Stackoverflow, in dem jemand vorschlug, dass ich dies als Follow-up poste.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage