 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
M.Schneider Guest
|
Posted: Mon Jun 14, 2004 2:42 pm Post subject: string in C++ nutzen, aber wie? |
|
|
Habe folgende einfache Konsolenaanwendung
#include "stdafx.h"
#include <iostream.h>
#include <string.h>
int main(int argc, char* argv[])
{
std::string mystring;
printf("Hallo Welt!n");
return 0;
}
Und erhalte folgende Fehlermeldungen, warum?
error C2653: 'std' : Keine Klasse oder Namespace
error C2065: 'string' : nichtdeklarierter Bezeichner
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Christoph Rabel Guest
|
Posted: Mon Jun 14, 2004 3:35 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
M.Schneider wrote:
| Quote: | Habe folgende einfache Konsolenaanwendung
#include "stdafx.h"
#include <iostream.h
|
#include
iostream.h ist ein veralteter Header, der nicht mehr benutzt werden sollte!
| Quote: | #include <string.h
|
#include
string.h ist ein C-Header in dem andere Sachen drin sind.
mfg
Christoph
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Bernhard Walle Guest
|
Posted: Mon Jun 14, 2004 3:40 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
* M.Schneider <User969 (AT) gmx (DOT) de> [2004-06-14 16:42]:
| Quote: | Habe folgende einfache Konsolenaanwendung
#include "stdafx.h"
|
Was ist das?
| Quote: | #include <iostream.h
|
#include
| Quote: | #include <string.h
|
#include
| Quote: |
int main(int argc, char* argv[])
{
std::string mystring;
printf("Hallo Welt!n");
|
std::cout << "Hallo Welt!" << std::endl;
| Quote: | return 0;
}
Und erhalte folgende Fehlermeldungen, warum?
error C2653: 'std' : Keine Klasse oder Namespace
error C2065: 'string' : nichtdeklarierter Bezeichner
|
Welcher Compiler?
Gruß,
Bernhard
--
_________ http://www.bwalle.de _________________________________________________
"Less is more or less more"
-- Y_Plentyn on #LinuxGER
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Hendrik Belitz Guest
|
Posted: Mon Jun 14, 2004 3:46 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
M.Schneider wrote:
| Quote: | Habe folgende einfache Konsolenaanwendung
#include "stdafx.h"
#include <iostream.h
#include
|
die korrekte Include-Datei ist
alten C-Stringfunktionen, noch dazu in der Nicht-Standard-C++-Version). Und
<iostream.h> ist auch veraltet. Richtig wäre <iostream>. Kurzum, alle
include-Dateien des C++-Standards haben nicht die Endung .h
--
To get my real email adress, remove the two onkas
--
Hendrik Belitz
- Abort, Retry, Fthagn? -
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Rolf Magnus Guest
|
Posted: Mon Jun 14, 2004 4:05 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
M.Schneider wrote:
| Quote: | Habe folgende einfache Konsolenaanwendung
#include "stdafx.h"
#include <iostream.h
|
Dieser Header existiert in Standard-C++ nicht. Es muß
Aber du benutzt sowieso nichts aus diesem Header.
| Quote: | #include <string.h
|
Dies ist der Header für die C-Stringfunktionen wie strcmp. Du wolltest
aber den mit der Klasse std::string, welcher
| Quote: | int main(int argc, char* argv[])
{
std::string mystring;
printf("Hallo Welt!n");
|
Für printf brauchst du <cstdio>.
| Quote: | return 0;
}
Und erhalte folgende Fehlermeldungen, warum?
error C2653: 'std' : Keine Klasse oder Namespace
error C2065: 'string' : nichtdeklarierter Bezeichner
|
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Hannah Schroeter Guest
|
Posted: Mon Jun 14, 2004 4:13 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
Hallo!
M.Schneider <User969 (AT) gmx (DOT) de> wrote:
| Quote: | Habe folgende einfache Konsolenaanwendung
#include "stdafx.h"
|
Was ist das? Weg!
| Quote: | #include <iostream.h
#include
|
#include
#include <string>
| Quote: | int main(int argc, char* argv[])
{
std::string mystring;
printf("Hallo Welt!n");
|
Und hierfür braucht man <stdio.h>
| Quote: | return 0;
}
Und erhalte folgende Fehlermeldungen, warum?
|
Siehe oben.
Gruß,
Hannah.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Andreas Volz Guest
|
Posted: Mon Jun 14, 2004 4:58 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
Am Mon, 14 Jun 2004 18:05:24 +0200 schrieb Rolf Magnus:
| Quote: | Dieser Header existiert in Standard-C++ nicht. Es muß <iostream
heißen.
Aber du benutzt sowieso nichts aus diesem Header.
#include
Dies ist der Header für die C-Stringfunktionen wie strcmp. Du wolltest
aber den mit der Klasse std::string, welcher
int main(int argc, char* argv[])
{
std::string mystring;
printf("Hallo Welt!n");
Für printf brauchst du <cstdio>.
|
Hm, und wenn ich <stdio.h> include ist das falsch? Mein gcc 3.2/Linux
hat sich bisher noch nicht beschwert. Das gleiche hab ich mich neulich
bei <math.h> und <cmath> gefragt. Gerade stelle ich fest, dass auch
<cstring> funktioniert, wobei dort #include <string.h> gemacht wird. Wie
ist das den jetzt genau? Wo ist der Unterschied zwischen den [c]name[.h]
Headern?
Gruß
Andreas
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Amin Kharchi Guest
|
Posted: Mon Jun 14, 2004 5:18 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
Hallo!
"Hannah Schroeter" <hannah (AT) schlund (DOT) de> schrieb im Newsbeitrag
news:cakir3$pbv$1 (AT) c3po (DOT) use.schlund.de...
| Quote: | #include "stdafx.h"
Was ist das? Weg!
|
Woher willst Du wissen, das er es nicht braucht? Besteht die Welt nur aus
der Standard-Lib? Nö! Es handelt sich um einen vorkompilierten Header, ist
eine Hilfe zum schnelleren Compilieren.
Gruß
Amin
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Wolfgang Kaufmann Guest
|
Posted: Mon Jun 14, 2004 5:24 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
* Thus spoke Rolf Magnus <ramagnus (AT) t-online (DOT) de>:
Hallo,
| Quote: | M.Schneider wrote:
Habe folgende einfache Konsolenaanwendung
int main(int argc, char* argv[])
{
std::string mystring;
printf("Hallo Welt!n");
Für printf brauchst du <cstdio>.
|
Möglicherweise sucht der OP allgemein cout (und eventuell auch ein etwas
neueres Buch, falls obiges aus einem solchen stammen sollte).
| Quote: | #include
#inlucde
int main() {
std::string text("Hallo, Welt!");
std::cout << text << std::endl;
}
|
Wolfgang.
--
"If you've a highlighter pen, these lines above have got to be marked."
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
C. Gerald Knizia Guest
|
Posted: Mon Jun 14, 2004 9:03 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
Hannah Schroeter schrieb:
| Quote: | M.Schneider <User969 (AT) gmx (DOT) de> wrote:
#include "stdafx.h"
Was ist das? Weg!
|
Das ist der Header, der normalerweise precompiled wird, wenn man mit VC ein
neues Projekt mit Standardeinstellungen erzeugt. PCHs sind ein ausgesprochen
sinnvolles Feature - dazu zu raten, es _nicht_ zu benutzen, obwohl der
Compiler damit umgehen kann, kann wohl kaum der Stein der Weisen sein.
--
- C. Gerald Knizia/cgk | #28673212 | this post was made with intention
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Rolf Magnus Guest
|
Posted: Mon Jun 14, 2004 10:11 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
Andreas Volz wrote:
| Quote: | Am Mon, 14 Jun 2004 18:05:24 +0200 schrieb Rolf Magnus:
Dieser Header existiert in Standard-C++ nicht. Es muß <iostream
heißen.
Aber du benutzt sowieso nichts aus diesem Header.
#include
Dies ist der Header für die C-Stringfunktionen wie strcmp. Du
wolltest aber den mit der Klasse std::string, welcher
int main(int argc, char* argv[])
{
std::string mystring;
printf("Hallo Welt!n");
Für printf brauchst du <cstdio>.
Hm, und wenn ich <stdio.h> include ist das falsch?
|
Nein, der geht auch, ist aber glaub iich in C++ offiziell "deprecated"
oder sowas.
| Quote: | Mein gcc 3.2/Linux hat sich bisher noch nicht beschwert. Das gleiche
hab ich mich neulich bei <math.h> und <cmath> gefragt. Gerade stelle
ich fest, dass auch <cstring> funktioniert, wobei dort #include
string.h> gemacht wird. Wie ist das den jetzt genau?
|
Für jeden Standard-C-Header gibt es auch einen C++-Header mit c am
Anfang, dafür ohne .h am Ende.
| Quote: | Wo ist der Unterschied zwischen den [c]name[.h] Headern?
|
Die mit c definieren ihre Funktionen im Namspace std, die anderen nicht.
Zumindest sollte es so sein.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Rolf Magnus Guest
|
Posted: Mon Jun 14, 2004 10:15 pm Post subject: Re: string in C++ nutzen, aber wie? |
|
|
Amin Kharchi wrote:
| Quote: | "Hannah Schroeter" <hannah (AT) schlund (DOT) de> schrieb im Newsbeitrag
news:cakir3$pbv$1 (AT) c3po (DOT) use.schlund.de...
#include "stdafx.h"
Was ist das? Weg!
Woher willst Du wissen, das er es nicht braucht?
|
Ich hoffe mal nicht, daß er das braucht, denn sowas wäre nicht konform
zur C++-Norm.
| Quote: | Besteht die Welt nur aus der Standard-Lib? Nö!
|
Die Welt nicht, aber diese Newsgroup hier schon ;-)
| Quote: | Es handelt sich um einen vorkompilierten Header, ist eine Hilfe zum
schnelleren Compilieren.
|
Und das braucht man zum Compilieren dieses Programms in VC++?
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Christoph Rabel Guest
|
Posted: Tue Jun 15, 2004 5:47 am Post subject: Re: string in C++ nutzen, aber wie? |
|
|
Rolf Magnus wrote:
| Quote: | Andreas Volz wrote:
Hm, und wenn ich <stdio.h> include ist das falsch?
Nein, der geht auch, ist aber glaub iich in C++ offiziell "deprecated"
oder sowas.
|
Nein. Ist ein ganz normaler C Header.
| Quote: | Wo ist der Unterschied zwischen den [c]name[.h] Headern?
Die mit c definieren ihre Funktionen im Namspace std, die anderen nicht.
Zumindest sollte es so sein.
|
Ein weiterer Unterschied ist, dass die cname Header auf dem
C89 Standard + einer Korrektur, also effektiv auf C95 beruhen.
1999 ist eine neue C Norm herausgekommen, die die alte
ersetzt und damit hat sich auch bei den Headern name.h
einiges verändert.
Daher bestehen oft noch weitere Unterschiede zwischen diesen
Headern. Einen Unterschied solltest du IMHO in der Praxis
nur bemerken, wenn du eine der neuen C99 Funktionen benutzen
möchtest.
Diese sind leider auf manchen Compilern gar nicht vorhanden.
(Ich glaube der MS Compiler interessiert sich wenig für die
C99 Norm)
mfg
Christoph
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Wolfgang Kaufmann Guest
|
Posted: Tue Jun 15, 2004 6:37 am Post subject: Re: string in C++ nutzen, aber wie? |
|
|
* Thus spoke Rolf Magnus <ramagnus (AT) t-online (DOT) de>:
Hallo,
| Quote: | Amin Kharchi wrote:
Es handelt sich um einen vorkompilierten Header, ist eine Hilfe zum
schnelleren Compilieren.
Und das braucht man zum Compilieren dieses Programms in VC++?
|
Ist scheinbar ein "Standardheader" von VC++ der standardmässig
hinzugefügt wird:
| Quote: | If you don't want to use StdAfx.h don't use it. But you will then need to
go into Project... Settings menu. Select C/C++ tab. Category Precompiled
Headers. Default setting is to Use precompiled header file through
StdAfx.h - this you will need to change. Either don't use a precompiled
header file or use a different .h file.
(Quelle: Message-ID: <40a7e7bc$0$6328$65c69314 (AT) mercury (DOT) nildram.net>) |
Wolfgang.
--
"If you've a highlighter pen, these lines above have got to be marked."
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Wolfgang Kaufmann Guest
|
Posted: Tue Jun 15, 2004 7:31 am Post subject: Re: string in C++ nutzen, aber wie? |
|
|
* Thus spoke Christoph Rabel <odie (AT) hal9000 (DOT) vc-graz.ac.at>:
Hallo,
| Quote: | Rolf Magnus wrote:
Andreas Volz wrote:
Hm, und wenn ich <stdio.h> include ist das falsch?
Nein, der geht auch, ist aber glaub iich in C++ offiziell "deprecated"
oder sowas.
Nein. Ist ein ganz normaler C Header.
|
Sprecht ihr vom selben oder meint ihr eh dasselbe? Die C++ Header für C
Library Facilities kommen ohne .h-Endung aus und beginnen allesamt mit c
gefolgt vom ursprünglichen Namen. (stdio.h -> <cstdio>, 17.4.1.2 Headers
in ISO/IEC 14882:1998(E)) Warum das so ist, welche Kompatibilitätsgründe
und was sonst noch dahinter steckt wurde hier ja schon oft genug
besprochen.
| Quote: | Diese sind leider auf manchen Compilern gar nicht vorhanden.
(Ich glaube der MS Compiler interessiert sich wenig für die
C99 Norm)
|
Vor einigen Monaten war die Aussage bei Dir noch wesentlich allgemeiner.
(Message-ID: <3fe10c38$0$18044$3b214f66 (AT) aconews (DOT) univie.ac.at>)
Wolfgang.
--
"If you've a highlighter pen, these lines above have got to be marked."
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|