Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Integer in CString

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 < [ 2 ]
000
08.02.2007, 17:40 Uhr
~Banana
Gast


Hallo zusammen,
wie kann ich eine Integer in einen CStringarray kopieren? Mit CString[i].Format kommt die Fehlermeldung:

Code:
Links von ".Format" muss sich eine Klasse/Struktur/Union befinden.

Wie kopiere ich die Zahl in das Array?

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.02.2007, 17:52 Uhr
xXx
Devil


hmm? CString wäre MFC

C++:
CString str;
int value = 2343;
str.Format("%d", value);


std::string

C++:
int value = 203024;
std::istringstream ss;
ss << value;
std::string value_string = ss.str();
// oder
const char* value_char = ss.str().c_str();
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.02.2007, 17:58 Uhr
Suba Esel



Wenn ein CStringarray ein Chararray ist:


C++:
#include <iostream>
#include <sstream>

int main()
{
    int zahl = 123456789;
    std::stringstream stream;
    stream << zahl;
    char zeichen[10];
    stream >> zeichen;
    std::cout << zeichen << "    " << zeichen[5];
}


--
Simon

Dieser Post wurde am 08.02.2007 um 17:59 Uhr von Suba Esel editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.02.2007, 19:10 Uhr
xXx
Devil


hmm nein ist das net ... ein string ist nunmal etwas anderes als ein char ... d.h. hättest du höchstens auf einen std::string array schließen können ...

C++:
CString str;
int value = 2343;
CStringArray array;
str.Format("%d", value);
array.Add(&str);
...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.02.2007, 19:44 Uhr
~Banana
Gast


Irgendwie reden wir aneinander vorbei Und ja, ich programmiere mit der MFC
Programmfunktion: Text einfach verschlüsseln


C++:
CString read;
CSliderCtrl *slider=(CSliderCtrl *)GetDlgItem(IDC_SLIDER1);
GetDlgItemText(IDC_EDIT1, read);
int faktor = slider->GetPos();
int change=0;
for(int i=0; i< read.GetLength(); i++)
{
    change = read[i];
    change +=faktor;
    read[i] = change;
}
SetDlgItemText(IDC_EDIT1, read);



Fehlermeldungen

Code:
error C2106: '=': Linker Operand muss ein L-Wert sein


Ich hoffe, dass ihr mich jetzt verstehen könnt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.02.2007, 19:56 Uhr
xXx
Devil


mach mal aus change nen char ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
08.02.2007, 20:06 Uhr
~Banana
Gast


Hallo xXx,
schon wieder derselbe Fehler

Code:
error C2106: '=': Linker Operand muss ein L-Wert sein


Hoffentlich kriegen wir das hin
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
08.02.2007, 21:08 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ein faktor ist üblicher weise ein teil einer multiplikation und nicht teil einer addition..

Die Fehlermeldung will dir sagen, dass du mit dem [] operator nur lesend auf den CString zugreifen kannst

Entweder anderesweitig zwischenspeichern und weiterverarbeiten oder z.B. die Methode SetAt verwenden...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
08.02.2007, 21:14 Uhr
~Banana
Gast


Hallo zusammen,
hab nun die Konvertierung teilweise hingekriegt - wenn ich das wchar_t Array in die CString Zeichenkette konvertieren/kopieren will, kommt zwar keine Fehlermeldung mehr (konvertiere über den Operanten '='), aber das Ausgabefeld ist (ohne, dass eine Eingabe erfolgt hat) gefüllt mit exotischen Zeichen


C++:
CString read;
wchar_t trans[1024];
CSliderCtrl *slider=(CSliderCtrl *)GetDlgItem(IDC_SLIDER1);
GetDlgItemText(IDC_EDIT1, read);
int faktor = slider->GetPos();
char change;
memcpy(trans, read, read.GetLength());
for(int i=0; i< read.GetLength(); i++)
        {
        change = trans[i];
        change += faktor;
        trans[i] = change;
    }
read = trans; // hier stimmt was nicht?!
SetDlgItemText(IDC_EDIT3, read);



Screenshot
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
08.02.2007, 21:23 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Ich sag ja nimm SetAt
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: