Hans_Henrik Skrevet 3. mai 2009 Del Skrevet 3. mai 2009 (endret) lager ett program som skal behandle filepath's i argv[] men problemet er at for hvert mellomrom så blir det ett nytt 'argument' hvordan kan man gjøre at argumentene blir splittet med "" isteden for mellomrom? (ex: converter.exe "foo foo foo" "bar bar bar" skal bli total 2 argumenter, ikke 5) <<Snakker ikke om Argv[0] !! >> (eller lignende løsning) (nå som jeg tenker litt over det, kunne muligens lage en string for hver " og += till neste argv med " ... men det ville vell vært "dirty code" og ikke "den riktige måten og gjøre det på" ) Endret 3. mai 2009 av Hans_Henrik Lenke til kommentar
CoolBeer Skrevet 3. mai 2009 Del Skrevet 3. mai 2009 Iallefall i linux så vil argumentene du hiver inn med "" bli satt inn som ett argument i argv[]. Foreksempel: makeinitramfs --modules "ext3 reiserfs" vil bli: argv[1] = "--modules" argv[2] = "ext3 reiserfs" Nå programmerer jeg lite C/C++ i windows, men det _BURDE_ være samme mekanisme her. Hvis det ikke er det så må du nok mekke en string som du legger sammen argv[] i, er eneste måten jeg kan se at det skulle funke på. Lenke til kommentar
Giddion Skrevet 3. mai 2009 Del Skrevet 3. mai 2009 <snip>Nå programmerer jeg lite C/C++ i windows, men det _BURDE_ være samme mekanisme her. <snip> Det er samme mekanismen i windows også. Jeg sender med "foo foo foo" "bar bar bar" og får da ut to strenger ("foo foo foo" og "bar bar bar") Testkoden: #include <iostream> int main( int argc, char *argv[ ], char *envp[ ] ) { for (int i = argc -1; i>0;i--) { std::cout << argv[i] << std::endl; } return 0; } Lenke til kommentar
Hans_Henrik Skrevet 3. mai 2009 Forfatter Del Skrevet 3. mai 2009 oh shii, sorry! burde vært litt nøyere med og teste batch scriptene mine.. sorry! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå