Seite 1 von 1
C Programmierung: Überprüfung Auf Integer-wert
#1
geschrieben 19. April 2006 - 15:22
Hallo
Wie kann ich denn Prüfen, ob es sich bei einer Eingabe Option um einen Integer Wert handelt?
Ich versuchs mal etwas genauer zu segen, was ich will:
"Programmname GANZZAHL"
... Soll aufgerufen werden. Nun könnte aber "Programmname blöd" aufgerufen worden sein.
Ich muss also überprüfen ob argv[1] integer ist oder nicht. Wie macht man das?
mfg
Wie kann ich denn Prüfen, ob es sich bei einer Eingabe Option um einen Integer Wert handelt?
Ich versuchs mal etwas genauer zu segen, was ich will:
"Programmname GANZZAHL"
... Soll aufgerufen werden. Nun könnte aber "Programmname blöd" aufgerufen worden sein.
Ich muss also überprüfen ob argv[1] integer ist oder nicht. Wie macht man das?
mfg
Anzeige
#2
geschrieben 19. April 2006 - 16:04
int shlwapi::StrToInt(LPCTSTR lpSrc)
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#3
geschrieben 19. April 2006 - 16:48
und wo muss ich da angeben, was ich überprüfen will? Ich sehe nirgends ein argv[1] oder so etwas. - Wie schreib ich das genau? Kannst du mir evtl. ein kleines Beispiel aufschreiben, bitte?
mfg
mfg
#4
geschrieben 20. April 2006 - 08:20
wise, rika ist davon ausgangen, dass deine main etwa so aussieht:
int main(int argc, char **argv)
was die beiden parameter beinhaltet verrät dir das erste kapitel deines lieblings-C-programmierenbuchs.
int main(int argc, char **argv)
was die beiden parameter beinhaltet verrät dir das erste kapitel deines lieblings-C-programmierenbuchs.
I'm mó. mo's good twin.
#5
geschrieben 20. April 2006 - 13:33
Ja, genauso siehts auch aus - und das argc enthält einen int Wert, der der Anzahl der Zeichenketten beim Aufruf entspricht (beginnend mit 0) und das argv ist quasi ne Matrix, so dachte ich, die die Parameter (incl. Programmname) selbst enthält.
Aber ich verstehe nicht recht, was die Ausdrücke "int shlwapi::StrToInt(LPCTSTR lpSrc)" genau machen. Womit wird denn festgelegt, welcher der angegeben Parameter überprüft werden soll? Ich hab ja noch weitere Parameter, wie etwa eine Logfile und ähnliches. Diese dürfen natürlich char Werte sein...
mfg
Aber ich verstehe nicht recht, was die Ausdrücke "int shlwapi::StrToInt(LPCTSTR lpSrc)" genau machen. Womit wird denn festgelegt, welcher der angegeben Parameter überprüft werden soll? Ich hab ja noch weitere Parameter, wie etwa eine Logfile und ähnliches. Diese dürfen natürlich char Werte sein...
mfg
#6
geschrieben 20. April 2006 - 13:47
shlwapi ist eine Bibilothek von Windows, deren Funktionen du über das Includen von shlwapi.h einbinden kannst. Die Funtion StrToInt nimmt einen Long-Pointer auf einen CString entgegen und liefert die Intepretation als Integer zurück (oder eine Exception).
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#7
geschrieben 20. April 2006 - 23:34
Dann vermute ich, dass das auch nur im Windows so funktioniert. Dann nützt mir das erstmal nicht, da ich nur im Linux bzw. UNIX kompiliere.
#8
geschrieben 21. April 2006 - 00:32
Tja, bei BCC gäb't da noch ein StrToInt in der math-Lib, aber die willst du bestimmt nicht haben. Wie wär's mit STL?
Das alles wäre viel leichter, wenn man wüßtest, warum genau du atoi aus der StdLib nicht verwenden möchtest. Zu schlechte Fehlerbehandlung?
Das alles wäre viel leichter, wenn man wüßtest, warum genau du atoi aus der StdLib nicht verwenden möchtest. Zu schlechte Fehlerbehandlung?
Dieser Beitrag wurde von Rika bearbeitet: 21. April 2006 - 00:33
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#9
geschrieben 21. April 2006 - 22:24
Hallo Rika aufwachen, in der Überschrift steht C Programmierung nicht C++!!!
@wiseguy, wenn du es simple haben willst, nim einfach scanf bzw sscanf und als format such dir einen aus:
http://www.cplusplus...tdio/scanf.html
http://www.php-cente...ion.sscanf.html
@wiseguy, wenn du es simple haben willst, nim einfach scanf bzw sscanf und als format such dir einen aus:
http://www.cplusplus...tdio/scanf.html
http://www.php-cente...ion.sscanf.html
Thema verteilen:
Seite 1 von 1

Hilfe
Neues Thema
Antworten
Nach oben

