Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Layoutprobleme? - Styleswitcher!

Antwort
 
Themen-Optionen
Alt 11.10.2007, 18:59 Nach oben    #1
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard [C++] Typenkonvertierungsproblem; **char -> int

Ich habe ein kleines C++ Programm an dem ich das mal zeigen will..

Also:
Code:
int main(int argc, char **argv)
{
  int hoehe=0, breite=0;
  
  if(argc == 3)
  {
    //hoehe = static_cast<int>(argv[1]);
    
    std::cout << "Hoehe: " << argv[1] << "\n";
    std::cout << "Breite: " << argv[2] << "\n";


    std::cout << "Quadrat = Hoehe x Breite = " << hoehe * breite<< "\n";
  }
  else
  {
    std::cout << "unzureichende Anzahl an Parametern";
  }

   return 0;
}
Nun würde ich gerne den Variablen hoehe und breite die Werte übergeben

so könnte ein Aufruf sein:
Zitat:
programm.exe 10 10
Nur - wie bekomme ich das hin, dass die übergebenen Werte zu int werden?
Das Typ-Casting in der kommentierten Form mag der Compiler nicht.

Jemand eine Idee?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Jann Hendrik (13.10.2007 um 11:05 Uhr).
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.10.2007, 23:20 Nach oben    #2
robo47
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.048
Standard

Hab noch keinen Compiler isntalliert, versuchs mal damit:

http://www.cprogramming.com/referenc...taticcast.html
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.10.2007, 07:46 Nach oben    #3
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

Ich sehe da keinen Unterschied zu der Version, die ich oben (in kommentierter Version stehend) versucht habe.


// Nachtrag:
das führt zu folgender Fehlermeldung:
Zitat:
rror C2440: 'static_cast' : 'char *' kann nicht in 'int' konvertiert werden
Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
Fehler beim Ausführen von cl.exe.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Jann Hendrik (12.10.2007 um 08:06 Uhr).
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.10.2007, 08:46 Nach oben    #4
mepeisen
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 353
Standard

Ähhhm. Ich hole mal aus.

Der Speicher sieht sooo aus in deinem Char-Array:

Speicherzelle 0: 31 (für ASCI 1)
Speicherzelle 1: 30 (für ASCI 0)
Speicherzelle 2: 0

Jetzt gibt es zwei Varianten. Entweder willst du aus diesem ein Int machen wie oben beschrieben. Dann würde daraus:
31 30 0 0 (im günstigen Fall ist die letzte Ziffer eine null). Die niederwertigen Bytes stehen am Anfang, dann würde also daraus Dezimal 12337.

Machen würde man sowas in etwa so:
Code:
hoehe = *(int*)(argv[1]);
Dabei verwandelst du dein Char-Array als erstes in einen Int-Zeiger und greifst dann auf den Inhalt zu (führendes Sternchen).

Prinzipiell macht das aber sehr wenig Sinn.

Was du suchst nennt sich beispielsweise strtoi oder strtol.
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.10.2007, 09:03 Nach oben    #5
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

ja... da war was...

ich erinnere mich dunkel.

Danke für den Hinweis. Mal schauen, was ich dazu auftreibe
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.10.2007, 11:05 Nach oben    #6
Jann Hendrik
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 1.542
Standard

so - und eben noch die Lösung...


Code:
#include <iostream>

int main(int argc, char **argv)
{
    
  if(argc == 3)
  {
    int hoehe = atoi(argv[1]);
	int breite = atoi(argv[2]);
	
	std::cout << "Hoehe: " << hoehe << "\n";
	std::cout << "Breite: " << breite << "\n";


	std::cout << "Quadrat = Hoehe x Breite = " << hoehe * breite<< "\n";
  }
  else
  {
	std::cout << "unzureichende Anzahl an Parametern";
  }

   return 0;
}
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

die aktuelle Umfrage: Wo kauft ihr eure Literatur?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

« "Event Recorder" zum Automatisieren von Tests | [Excel-VBA] Symbolleisten ausblenden »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JTable reagiert nicht auf Menueklick tommyboy Desktop-Applikationen und Grafik 8 20.08.2006 23:38
Pfadfinder Xean Allgemeine Java-Programmierung 8 04.06.2006 15:10
Pong Klon hii Allgemeine Java-Programmierung 0 07.08.2005 08:25
kl. Zeichenprogramm - Farbe wird nicht gesetzt :*( pro_evo Desktop-Applikationen und Grafik 6 04.02.2005 17:28
Anzeige ? ghost Allgemeine Java-Programmierung 2 19.08.2004 12:26


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:45 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.6.7, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44