main Parameter und Wildcards

21/11/2007 - 21:30 von Henning Bredel | Report spam
Hallo zusammen,

ich bin recht neu in Sachen C und möchte einen Taschenrechner
implementieren, der mittels Kommandozeilenparameter einen Ausdruck
ausrechnet. Nun funktionieren Ausdrücke wie +, - oder /. Mein Problem
ist nun, dass der * Operator von der Shell direkt als Asterisk
Wildcard ausgewertet wird; Von der Shell vorausgewertet werden auch
die boolschen Operanden & (k.a. als was) und | (Pipe).

Wie kann ich in meiner C-Umgebung oder wo und wie auch immer
mitteilen, dass ich keine Wildcards, Pipes, etc. als Parameter haben
möchte? (Sprich einen unausgewerteten char[])

Vielen Dank für Hinweise und Tipps

Gruß

Henning
 

Lesen sie die antworten

#1 Thomas Koller
21/11/2007 - 21:46 | Warnen spam
Henning Bredel wrote:
ich bin recht neu in Sachen C und möchte einen Taschenrechner
implementieren, der mittels Kommandozeilenparameter einen Ausdruck
ausrechnet. Nun funktionieren Ausdrücke wie +, - oder /. Mein Problem
ist nun, dass der * Operator von der Shell direkt als Asterisk
Wildcard ausgewertet wird;



So pauschal kann man das nicht sagen. Das hàngt von der Shell ab.
Nicht jede shell wertet automatisch einen * aus.

Von der Shell vorausgewertet werden auch
die boolschen Operanden & (k.a. als was) und | (Pipe).



s.o. hàngt alles von der Shell ab.

Wie kann ich in meiner C-Umgebung oder wo und wie auch immer
mitteilen, dass ich keine Wildcards, Pipes, etc. als Parameter haben
möchte? (Sprich einen unausgewerteten char[])



Überleg dir welche Shell du verwenden willst, und dann sieh nach ob es
dort so eine Möglichkeit gibt. Eventuell gehts auch gar nicht oder nur
mit Escapen bestimmter Zeichen. Notfalls also shell wechseln.

Tom

Ähnliche fragen