ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
1238
1238
EMPFEHLEN
-
18.05.04 12:13 #1
- Registriert seit
- May 2004
- Ort
- Austria
- Beiträge
- 8
Hallo Leute hab , wieder mal ein kleines Problem :
Hab mir dein Buch über C++ mit Cd gekauft und , die dort angegebenen Beispiele auch gleich ausprobiert.
Nur funktionieren dies Beispiele jetzt nicht .
Die fertige Exe Datei von der Cd funktioniert , aber wenn ich den selbt geschriebenen Code eingebe , oder die Quell Datei von der Cd nähme wirft er mir immer eine fehler meldung aus : Das atoi kein Element von Std ist .
Was mache ich falsch
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include <iostream> #include <cstdlib> int main() { char Buffer[20]; std::cout <<" Geben Sie eine Zahl ein : " << std::flush; std::cin.get(Buffer, sizeof(Buffer)); if (std::atoi(Buffer) < 100) { std::cout <<" Die eingegebene Zahl ist kleiner als 100 " << std::endl; } }
Mfg
Jackie
-
Ich hab mir mal den cstdlib-Header vorgenommen, der sollte sich eigentlich darum kümmern, dass atoi im std-Namespace ist.
Frage: Ist das ganze in einer .c oder .cpp-Datei gespeichert?
Visual Studio unterscheidet nämlich üblicherweise nach der Extension, ob es als C oder C++ kompiliert. Und bei C wird atoi nicht in den Namespace gepackt.
(Falls ich kompletten Unsinn fasele, darf ich (nur) innerhalb dieses Threads ge-flamed werden. Danke)
-
18.05.04 13:12 #3
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Du schreibst "std::atoi". Das ist falsch. atoi() ist kein Mitglied des Namespaces std. Die Inkludierung von <cstdlib> anstelle von <stdlib.h> sollte das eigentlich ändern, aber aus irgendeinem Grund scheint es nicht zu funktionieren.
Hier würde es sich anbieten, am Beginn der Funktion ein "using namespace std;" einzusetzen und auf die ganzen "std::" zu verzichten.
---
Ha, Endurion war schneller!
Übrigens würden cout und cin nicht funktionieren, wenn der Compiler das für C hielte. Die Extension ist egal. *flame*
Geändert von Kachelator (18.05.04 um 13:15 Uhr)
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
18.05.04 13:21 #4
- Registriert seit
- May 2004
- Ort
- Austria
- Beiträge
- 8
Ist eine .cpp DateiOriginal geschrieben von Endurion
Frage: Ist das ganze in einer .c oder .cpp-Datei gespeichert?
Visual Studio unterscheidet nämlich üblicherweise nach der Extension, ob es als C oder C++ kompiliert. Und bei C wird atoi nicht in den Namespace gepackt.
Ich hab auch ein using namespace std; eingefügt aber dann funktioniert es aber trotzdem nicht.
Mfg
Jackie
-
18.05.04 13:31 #5
- Registriert seit
- May 2004
- Ort
- Austria
- Beiträge
- 8
So bin doch noch drauf gekommen , und hab den Fehler entdeckt :
[CODE
]#include <iostream>
#include <cstdlib>
int main()
{
char Buffer[20];
std::cout << "Geben Sie eine Zahl ein: " << std::flush;
std::cin.get(Buffer, sizeof(Buffer));
{
std::cout << "Sie haben eine Zahl kleiner als 100 eingegeben." << std::endl;
}
}
[/CODE]
Hab in " if (std::atoi(Buffer) < 100) " das std:: vor atoi entfernt und jetzt klappt es.
Danke noch mals für eure Hilfen.
Mfg
Jackie
-
18.05.04 13:32 #6
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#include <iostream> #include <cstdlib> int main() { using namespace std; char Buffer[20]; cout <<" Geben Sie eine Zahl ein : " << flush; cin.get(Buffer, sizeof(Buffer)); if (atoi(Buffer) < 100) { cout <<" Die eingegebene Zahl ist kleiner als 100 " << endl; } return 0; }
Auch nicht so? Nebenbei, der return-Wert fehlte noch.
---
Huch, ich war zu langsam.Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
18.05.04 13:34 #7
- Registriert seit
- May 2004
- Ort
- Austria
- Beiträge
- 8
Siehe ein Posting oben .
Mfg
Jackie
-
Ich kann's mir nicht verkneifen:
using namespace std; *zurückflame*
Ist aber völlig ok, wenn man kleinere Projekte hat bzw. davon ausgeht, dass keine anderen Namespaces dazwischenfunken.
Flixt, gibt keinen "Wieher"-Smiley
Ähnliche Themen
-
taschenrechner mit atoi()
Von marvellous im Forum C/C++Antworten: 1Letzter Beitrag: 21.12.10, 18:11 -
Matlab-Befehle aus "mex.h" bzw. "matrix.h" bringen Linker Fehler
Von Cappaja im Forum VisualStudio & MFCAntworten: 2Letzter Beitrag: 13.06.09, 12:36 -
atoi mit Radix?
Von uni im Forum C/C++Antworten: 2Letzter Beitrag: 18.08.05, 20:55 -
[c] atoi fehlerhaft
Von Java/CppProgrammer im Forum C/C++Antworten: 5Letzter Beitrag: 16.10.04, 14:53 -
atoi /atof fragen
Von netrobot im Forum C/C++Antworten: 5Letzter Beitrag: 13.08.04, 12:15





Zitieren
Login






