26. september 2003 - 21:42
Der er
24 kommentarer og 2 løsninger
give kommandoer i comandolinien
hvordan laver man et program som gikker i ens linie efter kommandolinien. f.eks: ./kommandofil -d kommando1 -f kommando2
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
26. september 2003 - 21:45
#1
Med argv: #include <iostream> #include <stdlib.h> using namespace std; int main(int argc, char *argv[]) { cout << argv[1]; system("PAUSE"); return 0; }
26. september 2003 - 21:46
#2
program.exe hello world int main(int argc, char **argv){ //argv[0] -> program.exe //argv[1] -> hello //argv[2] -> world return 0; }
26. september 2003 - 21:47
#3
argv[0] indeholder path til programmet. argv[1] indeholder første parameter. f.eks. udskrives alle parametre sådan: for(int i=0;i<argc;i++) { cout << "param" << i << "\t" << argv[i] << endl; }
26. september 2003 - 21:47
#4
argc angiver hvor mange parametre som er givet
26. september 2003 - 21:52
#5
hvordan ser man så om det er angivningen (1, 2, 3, 4, 5...), eller angivelsestypen (-tal,-t)?
26. september 2003 - 21:58
#6
Du skal parse paramterene for at checkke at de er gyldige. F.eks. (mit eks.): main -t12345 -v3 -f foo -b Ar -bAr param[0] main param[1] -t12345 param[2] -v3 param[3] -f param[4] foo param[5] -b param[6] Ar param[7] -bAr Altså kan det være snedigt at anvende samme teknik som i 7'eren (for at undgå for meget arbejde..).
26. september 2003 - 22:04
#7
Jeg ved jeg har set et library der specifikt er lavet til at hjælpe med at holde styr på parametre. Jeg kan bare ikke finde det igen :-(
26. september 2003 - 22:06
#8
findes der ikke en måde at læse current param, og se om den indeholder et - også nogen text, så kan den fortælle at der vil komme en kommando efterfølgende af at mellemrum?
26. september 2003 - 22:14
#9
Librart til at parse -name value med er normalt kendt som getopt !
26. september 2003 - 22:15
#10
kan dette virke (er ikke så god til C/C++) for(int i=0;i<argc;i++) { if(argv[i] == "-d"){ i++; d = argv[i]; } if(argv[i] == "-f"){ i++; f = argv[i]; } }
26. september 2003 - 22:19
#11
1) Du kan ikke bruge argv[i] == "-d" men skal bruge strcmp(argv[i],"-d")==0. 2) Det går galt hvis man ikke angiver parametrene korrekt. Men ellsrs er det noget af den logik der skal til.
26. september 2003 - 22:22
#12
vil 0 være sand eller falsk?
26. september 2003 - 22:22
#13
0 = match
26. september 2003 - 22:27
#15
jeg er helt på grundplan angående det plan med libraries, hvad er det for noget... er det *.h filerne.. vis ja, så har jeg ikke en døjt forstand på dem, og kan jeg måske købe en bog om dem et sted?
26. september 2003 - 22:42
#16
Et library er typisk en .h fil og en .a fil, hvor du includer -h filen og linker mod .a filen.
26. september 2003 - 22:45
#17
altså skriver f.eks g++ test.cpp -o test -h minheadfil.a også finder den selv minheadfil.h?
26. september 2003 - 22:48
#18
Nej. #include "mylib.h" i din .cpp fil og build med: g++ test.cpp mylib.a -o test ["-h" var en tyrk-fejl jeg mente ".h"]
26. september 2003 - 22:51
#19
okay... hvor kan jeg læse om hvad de forskællige head filer gør, og hvordan jeg laver mine ejne?
26. september 2003 - 23:08
#20
Jeg kender ikke en god online tutorial til generel .h filer.
Standard .h filerne kan du læse om her:
http://www.cppreference.com/
27. september 2003 - 17:58
#21
jeg har lidt problemmer med at få mine verdier fra argv[] til int.. hvordan kan jeg gøre det. f.eks ./test -h 9 så skal argv[1] være char og argv[2] int
27. september 2003 - 18:01
#22
int h = 0; if(strcmp(argv[1],"-h")==0) { h = atoi(argv[2]); }
27. september 2003 - 18:04
#23
tak... skal du ikke have point for svarende?
27. september 2003 - 18:06
#24
Jo tak. (men der er jo også andre som har bidraget)
27. september 2003 - 18:09
#25
giver soreno 3 dage til at lave et svar så :) så deler jeg dem lige op
27. september 2003 - 18:11
#26
Så må jeg hellere skynde mig ! :-)
Kurser inden for grundlæggende programmering