Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Das Gurke

Community-Fossil

  • »Das Gurke« ist der Autor dieses Themas

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

1

15.05.2006, 13:40

std::wcout und std::wofstream und Zeichenketten?

Ich bin etwas verwirrt ...

C-/C++-Quelltext

1
2
3
4
    wchar_t cString[16] = L"abc";
    wchar_t cTest[5][128];
    *cTest[0] = *cString; 
    std::wcout << *cTest[0] << std::endl;


Gibt nur ein a aus. Lieber wäre es mir aber den ganzen Inhalt (bis zum Stringende eben) auszugeben.

Liegt der Fehler bei?

C-/C++-Quelltext

1
*cTest[0] = *cString; 

Das dort irgendwie nur der erste Buchstabe kopiert wird?

ext

Treue Seele

  • Private Nachricht senden

2

15.05.2006, 13:57

Richtig, du kopierst ein Zeichen an die Stelle cTest[0][0]

Das Gurke

Community-Fossil

  • »Das Gurke« ist der Autor dieses Themas

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

3

15.05.2006, 13:58

Hmm, wie sollte ich da rangehen? Schleife? memcpy? Oder gibts da schon vorgefertigte Sachen bzw andere Ansätze?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

15.05.2006, 14:00

Strings? z.b. die Hilfsklasse _bstr_t

Oder du kannst sie auch einfach duplizieren per wcsdup war es glaube ich. Dann braucht man nur noch einen Zeiger und kein festgelegtes Array. Oder eben mit wcscpy...
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

ext

Treue Seele

  • Private Nachricht senden

5

15.05.2006, 14:43

Da nimmst einfach wcsncpy( &cTest[0][0], cString, 3 );

Musst aber folgendes beachten

Zitat


If count is less than or equal to the length of strSource, a null character is not appended automatically to the copied string. If count is greater than the length of strSource, the destination string is padded with null characters up to length count.



Und wer sich das Leben einfacher und sicherer machen will nimmt std::wstring

Werbeanzeige