String do PCWSTR

Odpowiedz Nowy wątek
2015-02-24 18:02
0

Witam, mam funkcje w programie która rejestruje go w do automatycznego uruchamiania.

BOOL RegisterProgram(PCWSTR pszAppName, PCWSTR pathToExe, PCWSTR args)
RegisterProgram(L"Nazwa_programu", szPathToExe, L"argumenty" );

W miejscu "argumenty" pasowałoby mi wysyłać do funkcji zawartość stringu z argumentami wpisanymi przez użytkownika. I tu moje pytanie: jak można w łatwy sposób przekonwerterować stringa na PCWSTR (L "argumeny")

Z góry dziękuję za odpowiedz.

Pozostało 580 znaków

2015-02-24 18:57
2
wstring program = L"Ala";
wstring argumenty = L"ma kota";

RegisterProgram(program.c_str(), szPathToExe, argumenty.c_str());

to wstring jest istotne. inaczej musiałbyś konwertować ANSI do Unicode.
nie rób też takiego przypisania:

PCWSTR str = program.c_str(); // źle

bo szybko się zemści. używaj c_str tylko w wywołaniu funkcji.

edytowany 1x, ostatnio: Azarien, 2015-02-24 18:58

Pozostało 580 znaków

2015-02-24 19:06
0

Ok, a jak będę chciał do L"<tutaj>" wstawić parametry ze stringa? To w jaki sposób można to zrealizować?

Pozostało 580 znaków

2015-02-24 19:50

tzn?

najlepiej używaj wstring i wchar_t* zamiast string i char*. w ten sposób pozbędziesz się kłopotu.

jeśli już koniecznie gdzieś potrzebujesz stringa to można string przekonwertować na wstring tak:

    string s = "Ala";
    wstring ws = wstring(s.begin(), s.end());

Pozostało 580 znaków

2015-02-24 20:10
0

Dziękuję, rozwiązałem mój problem :)
Pozdrawiam.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0