Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » verknüofung von strings -> "Zu viele Zeichen in der Konstante"

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
12.03.2008, 15:56 Uhr
~Animal21
Gast


hio

ich hab ein programm als Konsolenanwendung geschrieben, wo ich mehrere strings verknüpfe, wie folgt is die deklaration:

C++:
.
.
.
#include <string.h>
.
.
.
char * chUnreDrei='unregelmaessiges ';
char * chGlschDrei='gleichschenkliges ';
char * chGlseiDrei='gleichseitiges ';

char * chSpWink='spitzwinkliges';
char * chReWink='rechtwinkliges';
char * chStWink='stumpfwinkliges';

und ich verwende sie wie folgt (nur ein ausschnitt):
if (...)
{
strcpy(chDreiecksTyp, chGlseiDrei);
strcat(chDreiecksTyp, chSpWink);
}


beim compilieren zeig der auf die deklaration der char's und sagt zu allen: Zu viele Zeichen in der Konstante

was isn da falsch?

mfg
ani


Bearbeitung von 0xdeadbeef:

cpp-Tags eingefügt, nächstes mal bitte selbst machen.


Dieser Post wurde am 12.03.2008 um 16:33 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.03.2008, 16:22 Uhr
Hans
Library Walker
(Operator)


Hi,

ersetz die einfachen Hochkommata (') mal durch Anführungszeichen ("), dann sollte es gehen.
Das hier: 'a' bezieht sich nämlich nur auf einzelne Zeichen, ist aber kein string.
Das hier: "a" dagegen ist ein String, der intern auch mit einem Nullbyte abgeschlossen wird.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.03.2008, 16:32 Uhr
0xdeadbeef
Gott
(Operator)


Außerdem solltest du String-Literale keinen String-Variablen zuweisen. Richtig wäre

C++:
char const *chUnreDrei = "unregelmaessiges";


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.03.2008, 16:59 Uhr
~Animal21
Gast


danke es geht^^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: