Seite 1 von 1

Dateiname als Kommandozeilenparamter

Verfasst: Mo Jan 12, 2009 6:55 pm
von ch0sn
Hallo Leute,

ich bin noch ein ziemlicher anfänger in sachen programmierung...

nun zu meiner frage:

ich muß ein programm schreiben, dass als kommandozeilenparameter einen dateinamen erwartet.
der inhalt dieser datei soll zur standardausgabe kopiert werden. dabei ist aber jeder tabulator ('\t') in die entsprechende anzahl leerzeichen umzuwandeln.
wird kein dateiname angegeben, ist die standardeingabe als eingabe zu verwenden.

nun ich erwarte hier natürlich keine fertige lösung aber ich habe bereits schwierigkeiten überhaupt loszulegen, da ich wirklich nicht weiß womit ich anfangen soll :?

für tipps wäre ich wirklich sehr dankbar

Re: Dateiname als Kommandozeilenparamter

Verfasst: Mo Jan 12, 2009 7:25 pm
von Dirty Oerti
Zuersteinmal die Frage:

In C oder in C++ ?

Allgemein musst du den Kommandozeilen Parameter als String hernehmen und den eine Datei (bzw einen Stream) damit öffnen.

Code: Alles auswählen

int main (int argc, char **argv)
Du überprüfst, ob du genügend Argumente bekommen hast:

Code: Alles auswählen

if (argc!=2) {
      //Zu wenig oder zu viele Args
      return -1;
}
Dann liest du die Datei Zeichen für Zeichen ein. Jedes Zeichen überprüfst du nun. Ist es ein '\t', dann schreibst du anstatt dem Zeichen deine Anzahl an Leerzeichen auf die Standardausgabe. Ansonsten schreibst du das Zeichen einfach auf die Standardausgabe.

Ich hoffe das war jetzt theoretisch und praktisch genug in einem :)
Wenn du etwas nicht verstehst, dann frage :)

Re: Dateiname als Kommandozeilenparamter

Verfasst: Mo Jan 12, 2009 7:47 pm
von cloidnerux
Natürlich musst du noch deine Datei öffnen.

Und wilkommen im Forum.
Wenn du willst kannst du eine kurze Beschreibung deinerselbst hier hinschreiben.

Re: Dateiname als Kommandozeilenparamter

Verfasst: Mo Jan 12, 2009 8:33 pm
von ch0sn
zunächst einmal möchte ich mich über die zügige und freundliche hilfe bei euch bedanken.

das ist leider in den meisten foren "etwas" anders...

- die aufgabe ist in c zu lösen

da ich erst morgen wieder an meinen "arbeits-pc" sitze werde ich mit hilfe eure vorschläge morgen weiter machen

und mich dann nochmals melden (hoffentlich nicht allzu oft :lol: )

bis dahin schon einmal vielen dank für eure hilfsbereitschaft, so sollte es in einen forum sein, top :!:

Re: Dateiname als Kommandozeilenparamter

Verfasst: Mo Jan 12, 2009 8:40 pm
von cloidnerux
und mich dann nochmals melden (hoffentlich nicht allzu oft :lol: )
NAja, wir sind ein Forum, wir beiten ja unsere Hilfe an.
Kannst ruhig häufiger Posten.

Re: Dateiname als Kommandozeilenparamter

Verfasst: Mo Jan 12, 2009 9:36 pm
von Xin
Ich habe das Thema mal in die Todolist für's Tutorial geschrieben, weiterhin sollte auf den entstehenden Artikel ein Link von der FAQ ausgehen.

PS: Willkommen im Forum @ ch0sen

Re: Dateiname als Kommandozeilenparamter

Verfasst: Di Jan 13, 2009 1:14 pm
von Kerli
Xin hat geschrieben:Ich habe das Thema mal in die Todolist für's Tutorial geschrieben,[...]
So, ich hab jetzt einmal einen Artikel geschrieben. Er sollte das hoffentlich einigermaßen verständlich erklären ;)

Re: Dateiname als Kommandozeilenparamter

Verfasst: Di Jan 13, 2009 2:07 pm
von Xin
Kerli hat geschrieben:
Xin hat geschrieben:Ich habe das Thema mal in die Todolist für's Tutorial geschrieben,[...]
So, ich hab jetzt einmal einen Artikel geschrieben. Er sollte das hoffentlich einigermaßen verständlich erklären ;)
Ich habe ihn überflogen, sieht gut aus.

Was noch fehlt ist das Enviroment, aber das sollte in einem Erweiterungsartikel stehen.