String-Einbindung

Diskutiere String-Einbindung im Programmierung Forum im Bereich Software Forum; Hallo, hab mal ne Frage! Ich benutze den aktuellen Dev C++ -Compiler und habe mal aus Spaß folgendes Programm geschrieben. Allerdings findet der...
X

xambo

Threadstarter
Mitglied seit
30.05.2006
Beiträge
48
Hallo,
hab mal ne Frage!
Ich benutze den aktuellen Dev C++ -Compiler und habe mal aus Spaß folgendes Programm geschrieben. Allerdings findet der Compiler die Include-Datei "string" nicht!! Was mache ich falsch??

Hier nun das Programm:

#include <string>
#include <iostream.h>
#include <conio.h>

int main()
{
string satz = "Hallo C++!";
cout << "Der eingebene Satz lautet" << satz;
cout << "Ein Buchstaben" << satz[6];
getch();
return 0;
}



Grüße
xambo
 
Mike

Mike

i7-6700HQ
Team
Mitglied seit
21.09.2006
Beiträge
24.377
Standort
in der Nähe eines Rechners
Hallo :)

guck mal ...
Um die Klasse string verwenden zu können, muß die Datei <string> inkludiert werden. Die Include-Dateien der Standardbibliothek enden nicht auf ".h". Außerdem arbeitet die Datei <string> nicht mit der Datei <iostream.h> zusammen. Statt dessen muß ab jetzt die Datei <iostream> (ohne ".h") verwendet werden.
Dein Code also
Code:
[COLOR="Red"]#include <iostream>
#include <string>
#include <conio.h>[/COLOR]

int main()
{
string satz = "Hallo C++!";
cout << "Der eingebene Satz lautet" << satz;
cout << "Ein Buchstaben" << satz[6];
getch();
return 0;
}
 
Zuletzt bearbeitet von einem Moderator:
X

xambo

Threadstarter
Mitglied seit
30.05.2006
Beiträge
48
Hi,
danke für die Antwort.
Leider funktioniert dies net. Wenn ich überall das .h entferne findet der Compiler überhaupt keine Include-Datei mehr...!! :flenn
Weiß jmd Rat. Ist übrigens der Gcc-Compiler des Dev-Programms (wenn es hilft)!!
 
Mike

Mike

i7-6700HQ
Team
Mitglied seit
21.09.2006
Beiträge
24.377
Standort
in der Nähe eines Rechners
Hatte noch einen Tippfehler - hab den Code nochmals verändert. Das .h gehört NUR bei einer weg und die Reihenfolge ist lt. Handbuch wichtig.

Mike

PS: Diese Aussage (mein Post #2) kommt nicht von mir sondern vom C++ Lehrbuch.

Mike
 
X

xambo

Threadstarter
Mitglied seit
30.05.2006
Beiträge
48
Hi,
oh man. Egal wie ich es anstelle!! Immer die Fehlermeldung "First use this function"!! :wut
Hab es sowohl im Dev - Compiler sowie im Borland - Compiler probiert!!
Aber egal wo, immer die gleiche Meldung!!
HILFE!!!! :D
 
Mike

Mike

i7-6700HQ
Team
Mitglied seit
21.09.2006
Beiträge
24.377
Standort
in der Nähe eines Rechners
Dann stimmen deine Pfade nicht. Steht bei diesem Compiler irgendwas von Verzeichnissen die in PATH eingetragen werden müssen ?
 
X

xambo

Threadstarter
Mitglied seit
30.05.2006
Beiträge
48
Hi,
laut dem was ich verstehe, stimmen die Pfade!! Jedes andere Programm mit einem normalen String, ohne die include-Datei zu nutzen funktioniert einwandfrei. Wollte es eben mal mit dieser Include-Option ausprobieren und hänge halt an diesem Problem, was mich nervt!!
Zur Not muss ich es halt wieder auf die herkömmliche Art und Weise probieren und einen normalen char-Array nehmen. Dieser funktioniert!!! :blush
Grüße xambo
 
Mike

Mike

i7-6700HQ
Team
Mitglied seit
21.09.2006
Beiträge
24.377
Standort
in der Nähe eines Rechners
Wieso dann die Aussage des Handbuchs selbst
Um die Klasse string verwenden zu können, muß die Datei <string> inkludiert werden. Die Include-Dateien der Standardbibliothek enden nicht auf ".h".
siehe Post #2

Hab bis jetzt zwar echt wenig mit C gemacht, aber hat immer so funktioniert.

Mike
 
X

xambo

Threadstarter
Mitglied seit
30.05.2006
Beiträge
48
Tja,
egal ob .h oder nicht!! Irgednwie kann keiner meiner Compiler etwas mit dieser Include-Datei anfangen!! Naja, werde wohl mal meinen Prof fragen, schließlich hatt er uns diesen Zeug beigebracht!! HiHi.... :D
 
S

schally

Mitglied seit
05.02.2006
Beiträge
1.313
Alter
32
Standort
RLP
Hi
schau dir das mal an ;-)
Code:
//Wurde im DEV C++ Compiler gemacht!

#include <string.h>
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
/*string satz[] = "Hallo C++!";
Hier kommt dann dies ausgabe
Der eingebene Satz lautet0x22ff30
Ein BuchstabenHallo C++!
mache es doch mal so*/
string satz="Hallo C++!";
cout << "Der eingebene Satz lautet " << satz<<endl;
cout << "Ein Buchstaben " << satz[6];
getch();
return 0;
}
Ansonsten wurde ich den mal runterschmeissen und neuinstallieren (und die CACHE Funktion nicht vergessen einzurichten kommt beim installieren)

Hier die Aktuelle Version

mfg
schally
 
X

xambo

Threadstarter
Mitglied seit
30.05.2006
Beiträge
48
Hallo,
meine Rettung!!!
Es funktioniert. Sogar mit oder ohne .h und egal in welcher Reihenfolge!! Das einzigste was er anscheinend brauchte war "using namespace std;" !!!
Dumme Frage!?!
Warum und was macht dieser Befehl!!!! :D
Grüße
xambo
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
8.124
Nimm dies:
Code:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
string satz = "Hallo C++!";
cout << "Der eingebene Satz lautet" << satz;
cout << "Ein Buchstaben" << satz[6];
getchar();
return 0;
}
Bei mir hat DevC++ sich über getch() beschwert; statt dessen habe ich getchar() genommen.
 
Zuletzt bearbeitet:
S

schally

Mitglied seit
05.02.2006
Beiträge
1.313
Alter
32
Standort
RLP
Hast das irgendwas mit der 8.3-Konvention zu tun ??
8.3 Konvention ist schon erforderlich aber soweit ich (1.tes Lehrjahr lang ists her ;-) ) mahct dieser kompiler automatisch!

Hallo,
meine Rettung!!!
Es funktioniert. Sogar mit oder ohne .h und egal in welcher Reihenfolge!! Das einzigste was er anscheinend brauchte war "using namespace std;" !!!
Dumme Frage!?!
Warum und was macht dieser Befehl!!!! :D
Grüße
xambo
using namespace std;
braucht der kompiler um sich zurecht zu finden (is nun sehr einfach ausgedrückt)
Nimm dies:
Code:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
string satz = "Hallo C++!";
cout << "Der eingebene Satz lautet" << satz;
cout << "Ein Buchstaben" << satz[6];
getchar();
return 0;
}
Bei mir hat DevC++ sich über getch() beschwert; statt dessen habe ich getchar() genommen.
weist du was getchar ist ist das gleiche wie getch is nur ne andere schreibweise ;-)
wenn du die conio.h einbindest sollte auch getch(); bei dir gehn ;-)

mfg
schally
 
X

xambo

Threadstarter
Mitglied seit
30.05.2006
Beiträge
48
Hi,
thanks!!
Habt mir sehr weitergeholfen!!!
Winboard ist cool!! :blush
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
8.124
... dann darfst Du den Beitrag jetzt als "gelöst" markieren.

@schally: so weit hatte ich nicht gedacht. Ich hatte einfach nur mal schnell ein neues Projekt gemacht und geguckt, welche Meldungen der Compiler ausspuckt. Und da ist er halt bei getch() hängen geblieben...
 
S

schally

Mitglied seit
05.02.2006
Beiträge
1.313
Alter
32
Standort
RLP
@automatthias

war net bös gemeint oder so!
ich wollte dir nur den tip geben das es gleiche ist!
sry falls es flasch rübergekommen ist!

aber des muss man halt erst mal wissen das getch() die conio.h braucht mein ausbilder hat mich mal 1 Tag nach diesem fehler suchen lassen :kotz

mfg
schally
 
Thema:

String-Einbindung

String-Einbindung - Ähnliche Themen

  • How to search device manager for string?

    How to search device manager for string?: Wie suche ich im Geräte-Manager nach einem String wie "F710? In der Registry wird er nicht gefunden. Kann er dann trotzdem im Device Manager sein?
  • api-ms-win-crt-string-l1-1-0.dll

    api-ms-win-crt-string-l1-1-0.dll: Ich habe das Programm Tax Steuersoftware von Buhl-Data. Bei der Installation bekam ich die Fehlermeldung, das die Datei...
  • mehrere BSoD mit verschiedenen Bug Check Strings

    mehrere BSoD mit verschiedenen Bug Check Strings: Guten Tag, Ich bekomme seit einer Woche immer wieder während der Benutzung meines PCs BlueScreens, völlig ohne sichtbaren Zusammenhang zu einem...
  • api-ms-win-crt-string-l1-1-0.dll

    api-ms-win-crt-string-l1-1-0.dll: Hallo, ich habe mein Steuerprogramm 2016 installiert. Aber leider lässt es sich nicht starten, dann kommt die Meldung...
  • api-ms-crt-string-l1-1-0.dll

    api-ms-crt-string-l1-1-0.dll: Hallo zusammen, habe ebenfalls versucht, meine Office365-Version nach der Installation zu starten und wurde dann mit einer fehlenden...
  • Ähnliche Themen

    • How to search device manager for string?

      How to search device manager for string?: Wie suche ich im Geräte-Manager nach einem String wie "F710? In der Registry wird er nicht gefunden. Kann er dann trotzdem im Device Manager sein?
    • api-ms-win-crt-string-l1-1-0.dll

      api-ms-win-crt-string-l1-1-0.dll: Ich habe das Programm Tax Steuersoftware von Buhl-Data. Bei der Installation bekam ich die Fehlermeldung, das die Datei...
    • mehrere BSoD mit verschiedenen Bug Check Strings

      mehrere BSoD mit verschiedenen Bug Check Strings: Guten Tag, Ich bekomme seit einer Woche immer wieder während der Benutzung meines PCs BlueScreens, völlig ohne sichtbaren Zusammenhang zu einem...
    • api-ms-win-crt-string-l1-1-0.dll

      api-ms-win-crt-string-l1-1-0.dll: Hallo, ich habe mein Steuerprogramm 2016 installiert. Aber leider lässt es sich nicht starten, dann kommt die Meldung...
    • api-ms-crt-string-l1-1-0.dll

      api-ms-crt-string-l1-1-0.dll: Hallo zusammen, habe ebenfalls versucht, meine Office365-Version nach der Installation zu starten und wurde dann mit einer fehlenden...
    Oben