string zu lange für VC++ 6.0/NET (error C2026)
-
Hi,
ich sitze hier gerade an einem für mich unlösbaren Problem und hoffe ihre könnt mir da
weiterhelfen.

mein Problem liegt in folgendem Code:
char* zeichenkette = "seeeehr langer string, der länger als 2048 zeichen ist";Beim Kompilieren tritt dann der folgende Fehler unter Visual C++ 6.0 und Visual Studio.NET auf:
error C2026: string too big, trailing characters truncated
Um das ganze noch viel schlimmer zu machen
wird dieser string vom Präprozessor erzeugt,weshalb ich nicht einfach einen Zeilenumbruch machen kann.
Kann ich dem Präprozessor mit irgendeiner Anweisung sagen, dass er bei z.B. 2000 Zeichen einen
Zeilenumbruch machen soll? Oder gibt es sonst noch eine Möglichkeit das Problem zu beheben (fix
für Visual C++)?
Ich bin für wirklich jeden Tip dankbar

Thx schonmal im Voraus
phiL
-
Hm so sollte das eigentlich funzen (kp, ob das dein Fehler löst):
char zeichenkette[] = "seeeehr langer string, der länger als 2048 zeichen ist";und besser noch, so:
TCHAR zeichenkette[] = TEXT("seeeehr langer string, der länger als 2048 zeichen ist");
-
Hallo CodeFinder,
danke für die Antwort. Aber der Fehler liegt darin begründet, dass die Kompiler von Visual C++ 6.0 und Visual Studio.NET keine zeilen länger als 2048 verarbeiten können. In Visual C++ 6.0 kann man schon gar keine zeilen länger als 2048 in den Editor eingeben.
Nachdem ich es zu Hause mit Visual Studio 2005 ausprobiert hatte (dort funktioniert es einwandfrei), bin ich davon ausgegangen, dass das auch Visual Studio.Net kann. Das war aber ein Irrtum und ich musste mich ob der unnötigen Restriktion von Microsoft ziemlich ärgern

Übrigens gibt es auch einen Eintrag unter msdn:
http://msdn2.microsoft.com/en-us/library/dddywwsc
der mir aber auch nicht weiterhilft
-
DAnn splitte doch die Strings in Segmente und füge sie dann in der RT zusammen.
PS: Wofür braucht man soooo lange Zeichenkette
?
-
Wie sieht denn das Macro aus, bzw. was tut es/soll es tun? Direkte Möglichkeit kenne ich keine.
-
Das Problem mit den Macros habe ich vorher mal in einem anderen Thread beschrieben, auf den aber leider keiner geantwortet hat:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-162550-and-highlight-is-.html@CodeFinder
Die lange Zeichenkette brauche ich, wie im link beschrieben, nur um die Bezeichner aus der Kommaliste zu erhalten.
-
Sieht schlecht aus dann.
P.S.: Ich kann weder den Compiler wechseln (in VS.NET, VS2005 und gcc geht es), noch kann ich die Alptraumhaften Macros aus dem vorgegebenen Projekt entfernen.
Aus sowas wird dir kaum wer antworten. Wenn A nicht B kann, aber wir "müssen" B haben und "können nicht" was anderes als A dazu einsetzen dann gibts wohl ein Problem...
-
Naja, ich hege halt noch die Hoffnung, dass jemand eine Idee hat wie ich das Ganze vllt. doch mit den gegebenen Mitteln hinbekomme.
Vielleicht schreibe ich auch nochmal direkt an Microsoft und frage die was man da machen kann.