IonStorm Geschrieben 22. Februar 2006 Teilen Geschrieben 22. Februar 2006 Moin, Ich habe Probleme damit unter VC++ 6 einen einfachen String zu generieren, ich habs erst mit nem größeren Programm versucht und um Fehler auszuschließen dann nochmal mit ner winzigen Applikation: #include <string.h> int main() { string hallo="huhu"; return 0; } Wenn ich das so compiliere meckert er rum: --------------------Konfiguration: mistvieh - Win32 Debug-------------------- Kompilierung läuft... exec_bat.cpp C:\test\exec_bat.cpp(6) : error C2065: 'string' : nichtdeklarierter Bezeichner C:\test\exec_bat.cpp(6) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'hallo' C:\test\exec_bat.cpp(6) : error C2065: 'hallo' : nichtdeklarierter Bezeichner C:\test\exec_bat.cpp(6) : error C2440: '=' : 'char [4]' 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. exec_bat.obj - 4 Fehler, 0 Warnung(en) Also bin ich einfach mal hergegangen und habe anstelle der doppelten Anführungszeichen (") einfache verwendet ('). string hallo='huhu'; Daraufhin meinte er nur noch 3 Fehler zu haben: --------------------Konfiguration: mistvieh - Win32 Debug-------------------- Kompilierung läuft... exec_bat.cpp C:\test\exec_bat.cpp(6) : error C2065: 'string' : nichtdeklarierter Bezeichner C:\test\exec_bat.cpp(6) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'hallo' C:\test\exec_bat.cpp(6) : error C2065: 'hallo' : nichtdeklarierter Bezeichner Fehler beim Ausführen von cl.exe. Daraufhin habe ich einfach mal in der MSDN nach der Syntax gesucht, diese meinten der String müsste dann so aussehn: string hallo=("huhu"); Woraufhin erneut folgendes kam: --------------------Konfiguration: mistvieh - Win32 Debug-------------------- Kompilierung läuft... exec_bat.cpp C:\test\exec_bat.cpp(6) : error C2065: 'string' : nichtdeklarierter Bezeichner C:\test\exec_bat.cpp(6) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'hallo' C:\test\exec_bat.cpp(6) : error C2065: 'hallo' : nichtdeklarierter Bezeichner C:\test\exec_bat.cpp(6) : error C2440: '=' : 'char [4]' 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. exec_bat.obj - 4 Fehler, 0 Warnung(en) Achja, ich habs auch schon mit einbinden der <stdio.h> versucht, aber das hat ihn nicht wirklich beeindruckt. Kann mir wer sagen warum der Fehler auftreten? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 22. Februar 2006 Teilen Geschrieben 22. Februar 2006 Die Klasse string ist in der Headerdatei <string> deklariert und steht im Namensraum std: #include <string> int main() { std::string hallo="huhu"; }[/code] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
IonStorm Geschrieben 22. Februar 2006 Autor Teilen Geschrieben 22. Februar 2006 Ah gut funktioniert nun soweit, danke. Wäre noch ne Frage da: Ich zitier einfach mal was genau ich da rein schreiben will, dass sollte das ganze vereinfachen: std::string mapprinter="rundll32 printui.dll,PrintUIEntry \/n \"PDFCreator\" \/y"; Die Backslashs sind enthalten um klarzustellen dass es sich um sonderzeichen handelt, die auch so drinstehn solln, damit er /n nicht als next line command sieht sondern wirklich als text wie er so ist. weiss jedoch nicht ob er das auch wirklich macht, denn er spuckt mir das hier aus: --------------------Konfiguration: test - Win32 Debug-------------------- Kompilierung läuft... exec_bat_.cpp C:\test\exec_bat_.cpp(13) : warning C4129: '/' : Nicht erkannte Folge von Escape-Zeichen C:\test\exec_bat_.cpp(13) : warning C4129: '/' : Nicht erkannte Folge von Escape-Zeichen exec_bat_.obj - 0 Fehler, 2 Warnung(en) Was ich an Hand dieser Meldung bezweifle, und ich nun jetzt nciht weiss was er tut. desweiteren, wenn er das nicht so erkennt wie er es soll wäre die Frage, wie ich ihm das verständlich machen kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 22. Februar 2006 Teilen Geschrieben 22. Februar 2006 Für normale Schrägstriche brauchst du keine Escapesequenz. Einfach /, nicht \/. Zeilenumbrüche macht man mit \n, nicht mit /n. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.