2017-05-17 1 views
1

Ich möchte eine Reihe von Bilddateien aus dem gleichen Ordner eingeben und sie die gleiche Operation innerhalb einer for-Schleife anwenden. I definiert Haupt als int main(int argc, char** argv) haben diese for-Schleife:Eclipse CDT: Übergabe mehrerer Programmargumente mit der gleichen Dateierweiterung

for(int i=1; i < argc; ++i) 
{ 
    // do something here 
} 

in Eclipse CDT (Neon) unter Run-Konfigurationen> Argumente, ich bin der Eingabe der Pfade der Bilder, die ich verarbeiten möchten. Es funktioniert, wenn ich explizit eine Liste von Bildern wie img1.jpg img2.jpg ... gebe, aber es funktioniert nicht, wenn ich versuche, es auf alle Bilddateien mit einer bestimmten Erweiterung wie dataset/*.jpg auszuführen.

Gibt es einen Workaround dafür? Vielen Dank.

+1

Ich bezweifle, dass dies behoben werden kann, da es die Shell ist, die die Dateinamen erweitert, bevor das Programm die Argumente erhält. – Galik

+0

Das * zu den entsprechenden Dateinamen erweitern ist eine Shell-Funktion. Ich sehe also eine geringe Wahrscheinlichkeit, wonach Sie fragen. Sie können nur kopieren und einfügen, was Ihre Shell gibt, nicht? Verdammt, ein paar Sekunden zu spät, weil ich einen mittelmäßigen Mittelwert vorschlagen wollte. –

Antwort

2

Gibt es einen Workaround dafür?

Die beiden offensichtlichsten diejenigen, die in den Sinn kommen, sind:

  1. Führen Sie das Programm von einem Terminal statt aus in Eclipse.
  2. Ändern Sie das Programm so, dass nur der Verzeichnisname als Argument verwendet wird und die Dateien im Verzeichnis durchlaufen werden.
+0

Danke. Ich wollte die Option 1 vermeiden, damit ich nicht zwischen Terminal und Eclipse hin- und herwechseln muss. Option 2 ist für mich praktikabler. – chronosynclastic