Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » programm gleich mit argumenten starten

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 <
000
08.11.2005, 12:06 Uhr
~scarvy
Gast


hi,

also ich wollte fragen wie man es hinbekommt, dass man den namen des programms eingibt (linux) und gleich dahinter die argumente, die der funktion übergeben werden sollen.

bis jetzt siehts so aus:

int main(int argc, char argv[]){

test(argc, argv);
cin.ignore();
return 0;



und die funktion dazu so:

void test(int anzahl, char *argument){

cout<<argument;



schon mal danke(und bin natürlich c++anfänger)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.11.2005, 14:18 Uhr
Veasel



hi,
habs mal ohne extra fkt gemacht (gleich in der main)


C++:
void main(int argc, char* argv[])
{
for(int i=0; i<argc; i++)
   {
    cout<<"arg#: "<<i<<" = "<<argv[i]<<endl;
   }
getch();


das erste arg ist immer der vollständige dateiname.
wenn du den nicht haben willst dann mußt die schleife bei 1 loslaufen lassen.
aufrufen musst du dann die exe und dahinter deine args mit leerzeichen getrennt.
hoffe das hilft schonmal weiter...

gruß von der küste!
--
MFG Veasel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.11.2005, 15:28 Uhr
~scarvy
Gast


ja danke hilft natürlch weiter!

also ich habe vor ein programm zu schreiben was den inhalt zweier ordner miteinander vergleicht (mit diff -r). dazu soll das programm aufgerufen werden (linux) und gleich dahinter die beiden verzeichnisse angegeben werden.

anschließend sollen die unterschiede in einer csv-datei gespeichert werden (aber das ist ja erstmal nicht das problem jetzt :-)

ich muss dazu sagen dass ich anfänger in c++ bin. darum bitte leich verständlich antworten



ps: @veasel: würdest du das ein bischen leichter schreiben? wäre sehr nett!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.11.2005, 18:31 Uhr
Veasel



hi,

...ist doch eigentlich sehr einfach... die ausgabe ist ein bißchen komisch aber ich wollte eben eine schöne übersicht haben mit der Nr. des args und dann das arg daneben.
naja...

hier mal ein ansatz für dein proggi...

C++:
void main(int argc, char* argv[])
{
string folder1, folder2;
folder1 = argv[1];   //1. Verzeichnis
folder2 = argv[2];   //2. Verzeichnis

/*Hier dann das was du damit machen willst...
  ... also dein diff -r ...
*/

}



heißt dein proggi eigentlich linux oder schreibst du das für "linux"?
kenn dieses diff -r nicht...sorry!!

gruß von der küste
--
MFG Veasel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.11.2005, 01:21 Uhr
Hans
Library Walker
(Operator)



Zitat von Veasel:
hi,
habs mal ohne extra fkt gemacht (gleich in der main)


C++:
#include <iostream>       // kleine Korrektur ;-)

void main(int argc, char* argv[])
{
  for (int i=0; i<argc; i++)
    {
       cout<<"arg#: "<<i<<" = "<<argv[i]<<endl;
    }
  getch();
}




Hi,
das soll ja wahrscheinlich ein C++ Programm sein, oder?
Nun ist die getch()-Funktion aber aus C (ohne ++). Wie heisst denn ein entsprechendes Äquivalent in C++ ? (also wenn man nur iostream einbindet, und die C-Header weglässt? )
(Abgesehen davon, das es in diesem Beispiel überflüssig ist... )

Hans,
das gerade kein C++ Buch zur Hand hat, und auf der schnelle auch nicht wüsste, wo er suchen müsste...
--
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
005
09.11.2005, 10:03 Uhr
Veasel



hi,
das getch() soll hier nur das proggi anhalten, damit man auch sehen kann was da steht...

kannst ja auch "cin.ignore()" nehmen und so warten.
mußt dann wohl noch die <vcl> includen.


Zitat von Hans:

#include <iostream> // kleine Korrektur ;-)


...
hab nur die fkt gepostet ohne die #include sachen. schon klar, dass man die auch braucht... ;-)
--
MFG Veasel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.11.2005, 15:56 Uhr
Hans
Library Walker
(Operator)



Zitat von Veasel:
hi,
das getch() soll hier nur das proggi anhalten, damit man auch sehen kann was da steht...

Ach so, wegen der IDE, die das Fenster sonst sofort wieder dicht macht, verstehe.


Zitat:
kannst ja auch "cin.ignore()" nehmen und so warten.
mußt dann wohl noch die <vcl> includen.


Ah, das ist genau das, was ich noch nicht wusste. Das geht aber auch ohne die <vcl>. Wenn ich das noch richtig im Kopf habe, ist ignore() eine Memberfunktion aus der Klasse, wo auch cin definiert ist... - aber so genau kenn ich mich mit C++, (und den speziellen I/O-Klassen) denn doch nicht aus.

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
007
09.11.2005, 17:59 Uhr
Veasel



@hans überlege gerade, ob du mich jetzt hier auf den arm nehmen willst oder nicht...

bin auch nicht der überlegene c++ programmierer! habe vor ca 1 1/2 jahren angefangen und versuche hier einfach nur zu helfen...
aber vielleicht versteh ich dich ja auch falsch *hoffnung stirbt zuletzt*
--
MFG Veasel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
13.11.2005, 01:39 Uhr
Hans
Library Walker
(Operator)


@Veasel: sorry, das ich mich erst jetzt wieder melde.
Was das "Auf den Arm nehmen" angeht, so will ich das garantiert nicht. Denn cin.ignore() kannte ich bisher noch nicht. Ich hab das Programm ausprobiert, und es läuft ohne die VCL; - Vorrausgesetzt Du meinst mit VCL auch die Visual Component Library, also Borlands Gegenstück zu den MFC. Der Rest, den ich da zu Memberfunktionen geschrieben habe, war mehr in den Raum spekuliert, in der Hoffnung, das es von den C++ Experten hier im Forum bestätigt oder wiederlegt wird.

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
009
14.11.2005, 08:20 Uhr
Veasel



na dann bin ich ja beruhigt... :o)
ja mit vcl meinte ich visual component library.
okay dann läufst auch ohne. hoffe wir konnten dem gutem scarvy helfen.
gruss
--
MFG Veasel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: