Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » inisialisierung

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
26.03.2006, 16:10 Uhr
~guestx
Gast



C++:
#include<iostream>
#include<string>
using namespace std;
int main()
{
    char s[]="3";
        char b[]="5";
        int m;
        
        m=strcmp(s,b);
        cout<<m<<endl;
        
         b[] ="8"; // ERROR ??? Wie Insialisiert man derartige CHAR
        
        
        m=strcmp(s,b);
        cout<<m<<endl;
        return 0;
}



 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.03.2006, 16:55 Uhr
Spacelord
Hoffnungsloser Fall


Hi,
b ist ein char Array mit 2 Elementen(dein Zeichen und \0).
Im einfachsten Fall kannst du den einzelnen Zeichen so neue Werte zuordnen:

C++:
   b[0] ='8';



MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.03.2006, 17:01 Uhr
~guestx
Gast


b[0] ='8'; // liefert folgendes error

error C2440: '=' : 'char [2]' kann nicht in 'char' konvertiert werden
Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
26.03.2006, 17:17 Uhr
~guestx
Gast


so geht es
b[0] =8;
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
26.03.2006, 17:21 Uhr
~guestx
Gast


allerdings kann ich kein
b[0] =f; schreiben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
26.03.2006, 17:31 Uhr
~guestx
Gast


stattdesen kann ich
b[0]=102;

das bedeutet f , char(102)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
26.03.2006, 21:00 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von ~guestx:
b[0] ='8'; // liefert folgendes error

error C2440: '=' : 'char [2]' kann nicht in 'char' konvertiert werden
Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat

Ich könnte wetten dass du da nicht b[0]='8' stehen hattest sondern b[0]="8".
Das ist ein Unterschied.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.03.2006, 21:15 Uhr
~guestx
Gast


du hast recht .. mit b[0] ='8'; funktioniert schon ... unglaublich , ich hab nie gedacht dass
solche art von intialisierungin durch ' ' gibt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
26.03.2006, 21:26 Uhr
Spacelord
Hoffnungsloser Fall


Das ist keine Initialisierung sondern eine Zuweisung. Ein Zeichen das in in einfachen Hochkommata eingefasst ist,ist ein char und ein oder mehrere Zeichen die in doppelte Hochkommata eingefasst sind,sind ne nullterminierte Zeichenkette.
Deshalb ist '8' etwas anderes als "8".
Mit welchem Buch versuchst du C++ zu lernen?

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 26.03.2006 um 21:27 Uhr von Spacelord editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
26.03.2006, 21:32 Uhr
~guestx
Gast


man findet nicht alles in einem buch , das war selbgemachte test , danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: