Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » parmeter einlesen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
05.07.2004, 14:15 Uhr
~wolfgang
Gast


Hallo Leute


system(echo $1);

Was muss ich hier davor schreiben das ich den wert bekomme den ich an das
Programm sende.

Gruß

Wolfgang
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
05.07.2004, 14:16 Uhr
KaraHead



Wenn ich nicht irre:

C++:
system("c:\echo -1") //unter windows


Dieser Post wurde am 05.07.2004 um 14:17 Uhr von KaraHead editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
05.07.2004, 14:33 Uhr
~wolfgang
Gast



Zitat:
KaraHead postete
Wenn ich nicht irre:

C++:
system("c:\echo -1") //unter windows




Hallo

Klappt leider nicht unter linux. Hast du vielleicht ne andere idee.

Gruß

Wolfgang

Dieser Post wurde am 05.07.2004 um 14:49 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
05.07.2004, 14:49 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich habe Deine Frage noch immer icht kapiert, aber ich glaube, du meinst sowas:

C++:
char[100] buffer;
...
sprintf(buffer, "echo %s", dein_wert_hier_rein);
system(buffer);


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
05.07.2004, 14:51 Uhr
Pablo
Supertux
(Operator)



Zitat:
~wolfgang postete
Hallo Leute


system(echo $1);

Was muss ich hier davor schreiben das ich den wert bekomme den ich an das
Programm sende.

Gruß

Wolfgang



system("echo $1"); sollte es sein, aber ich verstehe nicht, wozu du das brauchst. Man sollte auf system verzichten.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
05.07.2004, 16:06 Uhr
~wolfgang
Gast


Hallo

Ich habe ein Script lautet wie z.B. "test.c"
#inlcude <unistd.h>
#include <stdio.h>
int main(int argc,char ***argv)
{

Frage ???

system ("#/bin/bash
IP=$1
Host=$2
echo $Host > /etc/hosts
echo $IP >> /etc/hosts");
}
Nach der kompelierung: Aufruf test 192.168.1.1 amd

Was muss ich bei Frage hineinschreiben das ich den input auf $1 und $2 bekomme.

Gruß

Wolfgang
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
05.07.2004, 17:13 Uhr
Hans
Library Walker
(Operator)



Zitat:
0xdeadbeef postete
[quote]Windalf postete

C++:
printf("%s\n",argv[ i ]);



Waaaaaah! Da ist schon wieder dieses printf("%s\n", ...); - wann lernen die Leute endlich, dass das

C++:
puts(argv[ i ]);


heißt?[/quote]Hi,

sag mir, grosser Meister was hast Du an printf("%s",...); auszusetzen? - bzw. Warum ziehst Du puts(argv[ i ]); vor?

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 05.07.2004 um 17:14 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
05.07.2004, 17:25 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Hans
hab ich auch schon gefragt steht ein bisschen weiter vorne im thread...
Argumente die gegen printf sprechen sind performace und typensicherheit....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
05.07.2004, 17:34 Uhr
Pablo
Supertux
(Operator)


@wolfi: du machst es komplett falsch, denn die argumente 192.168.1.1 und amd werden an dem C Programm und nicht am Bash-Skript weitergegeben, folglich $1 und $2 sind für bash leer. Wenn du sowieso eine Bash-Skript erstellt, wieso denn das C Programm? Ich verstehe nicht was dahinter steht, außerdem ist system kein schöne Lösung. $1, $2 ... sind vorhanden, wenn das Bash-Skript in einer eigenen Datei enthalten ist und dieses ausgeführt wird.

Erzähl uns lieber was du genau machen willst/vorhast.


Bearbeitung von Pablo:

Du brauchst ein buffer, wo du dein Skript vorläufig speicherst. Siehe die Antwort von virtual


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 05.07.2004 um 17:36 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
05.07.2004, 17:56 Uhr
Hans
Library Walker
(Operator)



Zitat:
Windalf postete
@Hans
hab ich auch schon gefragt steht ein bisschen weiter vorne im thread...
Argumente die gegen printf sprechen sind performace und typensicherheit....

@windalf

hab ich inzwischen auch gesehen, - hab aber erst die Frage gestellt und das den weiteren Thread gelesen...
Aber um ehrlich zu sein: Das mit den möglichen Tippfehlern ist mir nicht so ganz klar. Ich denke da eher, das es Speicherplatz- oder Performancegründe sind, die gegen printf() sprechen. Ich weis ja nicht, wie printf intern arbeitet, weil man in den vom compiler erzeugten Assemblerdateien auch nur die Parameterübergabe und ein call printf findet:

Code:
DGROUP    group    _BSS,_DATA
_TEXT    segment dword public use32 'CODE'
_main    proc    near
?live1@0:
   ;    
   ;    int main()
   ;    
    push      ebp
    mov       ebp,esp
   ;    
   ;    {
   ;       printf("Hallo, World\n");
   ;    
@1:
    push      offset s@
    call      _printf
    pop       ecx
   ;    
   ;    
   ;       return 0;
   ;    
    xor       eax,eax
   ;    
   ;    }
   ;    
@3:
@2:
    pop       ebp
    ret
_main    endp
_TEXT    ends
_DATA    segment dword public use32 'DATA'
s@    label    byte
    ;    s@+0:
    db    "Hallo, World",10,0
    align    4
_DATA    ends
_TEXT    segment dword public use32 'CODE'
_TEXT    ends

. Aber wenn er den kompletten Parser für den Formatstring mit in das fertige Programm packt, und nicht nur jene Teile, die es benötigt, dann dürfte ein ganz schöner Overhead entstehen. Und das könnte sich dann auch auf die Geschwindigkeit auswirken...

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: