Toon posts:

[C++] retrieve argv argc argumenten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi GOT'er,

In een c++ applicatie heb ik in een van de .cpp file de argumenten argv en argc nodig. de Main method staat in een ander .cpp bestand. Nou vraag ik me af of c++ een methode heeft om deze argumenten op te kunnen halen? zo ja zal ik graag willen weten met welke methode. Als er geen methode voor zijn is het dan op een ander manier mogelijk om deze argumenten op te halen?


op het net en op het tweakers forum heb ik helaas niks kunnen vinden die een oplossing biedt voor mijn probleem.

greetz b

  • LazySod
  • Registratie: Augustus 2003
  • Laatst online: 27-05 12:44

LazySod

Scumbag with a mission

zou zeggen ... neem de waarden van de parameters die je nodig hebt over in globale variabelen (ieeeeekk) .. of beter nog, gebruik ze als parameters naar de functies die ze wel nodig hebben.

Proof is the idol before whom the pure mathematician tortures himself. (Sir Arthur Eddington)


Verwijderd

Topicstarter
LazySod schreef op 08 maart 2004 @ 18:13:
zou zeggen ... neem de waarden van de parameters die je nodig hebt over in globale variabelen (ieeeeekk) .. of beter nog, gebruik ze als parameters naar de functies die ze wel nodig hebben.
dus ik kan bijvoorbeeld voor de volgende functie de volgende parameters doorgeven?

void bla(String bla, int argv, char *argv[]) meegeven?

  • LazySod
  • Registratie: Augustus 2003
  • Laatst online: 27-05 12:44

LazySod

Scumbag with a mission

parameters van main zijn "int" en "char *[]". Zijn (zover ik weet) geldig zolang het programma runt, en kun je gewoon doorgeven naar naar waar dan ook.

zou de *argv[] behandelen alsof het "const char *argv[]" is, maar dat terzijde.

Proof is the idol before whom the pure mathematician tortures himself. (Sir Arthur Eddington)


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

b:
dus ik kan bijvoorbeeld voor de volgende functie de volgende parameters doorgeven?
1. Bekijk het eens zo: waarom zou het met deze parameters anders zijn dan met alle anderen?

2. wat heb je al geprobeerd?

3. Weet je ueberhaupt hoe je met functies, parameters en variabelen om moet gaan in C++?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
drm schreef op 08 maart 2004 @ 18:27:
[...]
1. Bekijk het eens zo: waarom zou het met deze parameters anders zijn dan met alle anderen?

2. wat heb je al geprobeerd?

3. Weet je ueberhaupt hoe je met functies, parameters en variabelen om moet gaan in C++?
1
nou in een 3d api is er een functie waarmee je deze argumenten doormoet geven.

2
de boven genoemde functie heb ik geprobeerd in een andere cpp file. alleen de compiler klaagt dat de meegegeven argumenten niet bekend zijn.

3
ik weet hoe functies werken. Ik moet wel toegeven dat ik net begonnen ben maar heb wel java ervaring.

ik zal het probleem proberen beter te verduidelijken:
voorbeeld:
main.cpp waar alles geimplementeerd worden. Maar in een aantal andere cpp files zijn ook functies geimplementeerd zoals bijvoorbeeld object.cpp in deze file zijn de functie geimplementeerd die gedeclareerd zijn in object.h. deze functies moet in main.cpp te gebruiken zijn. dat is nu ongeveer mijn situatie.

ik heb dus een functie in object.cpp. deze moeten de argumenten van main die in main.cpp staan ophalen en gebruiken. alleen heb ik geen idee hoe je dit voorelkaar krijgt. daarom hoop ik dat jullie mij hierbij kunnen helpen.

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Verwijderd schreef op 08 maart 2004 @ 20:31:
[...]
1
nou in een 3d api is er een functie waarmee je deze argumenten doormoet geven.
* Shadowman ziet niet het verschil tussen het doorgeven van variabelen bij een api-functie of een functie die je zelf maakt.
2
de boven genoemde functie heb ik geprobeerd in een andere cpp file. alleen de compiler klaagt dat de meegegeven argumenten niet bekend zijn.
Dan heb je het ergens verkeerd gedefinieerd of doorgegeven.
C++:
1
2
void bla(String bla, int argc, char *argv[]); //definieren zo.
bla("bla", argc, argv); // aanroepen zo (vanuit main.cpp).


Je moet dus in alle 3 de files (main.cpp, object.cpp en object.h) wat veranderen.
3
ik weet hoe functies werken. Ik moet wel toegeven dat ik net begonnen ben maar heb wel java ervaring.
Als je dat wist waarvoor heb je het dan niet op de standaardmanier van java geprobeerd? Hiertussen zit weinig verschil. (Ik neem aan dat je wel weet hoe functies in java werken).
ik zal het probleem proberen beter te verduidelijken:
voorbeeld:
main.cpp waar alles geimplementeerd worden. Maar in een aantal andere cpp files zijn ook functies geimplementeerd zoals bijvoorbeeld object.cpp in deze file zijn de functie geimplementeerd die gedeclareerd zijn in object.h. deze functies moet in main.cpp te gebruiken zijn. dat is nu ongeveer mijn situatie.
Alles in een file geimplementeerd kan onoverzichtelijk worden (weet niet hoe groot die file uiteindelijk zal worden zo).

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Waarschijnlijk zit je probleem in het declareren van de functie, en niet zo zeer in het al dan niet bestaan van die variabelen.

Heb je een header waarin de functie gedeclareerd wordt? Zo ja, is het een link- of compile error? En wat is die error dan exact? En welke compiler gebruik je?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1