PDA

Виж пълна версия : CString => LPSTR


moridinbg
23.02.07 г., 19:51
Как става?
Снощи цяла вечер копах гугъл, но така и не намерих работещо решение. Идеята е, че имам един диалог с един edit box, на който е назначена променлива, която автоматично е CString и навсякъде си се използва безпроблемно. На една функция обаче, трябва да се подаде променлива тип LPSTR

Пробвах всякакви кастове, конверсии и какво ли не, смислен резултат няма. Най-големият напредък беше да се появи само първата буква...

Как да го излъжа?

П.С. Visual Studio 2005, проектът е Unicode

MFrost
23.02.07 г., 20:10
Това, което ти трябва, е CString.GetBuffer()...
MSDN link (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_member_functions_cstring.asp)

Bombera
23.02.07 г., 21:45
Сигурен ли си, че не LPTSTR? В Уникод става на LPWSTR, в мултибайт LPSTR.

Smoky
24.02.07 г., 17:14
Мдам, с GetBuffer трябва да стане, но пак трябва да знаеш колко знака ще вкарваш в този буфер... Защото ако напишеш повече байтове, отколкото имаш заделени, ще си докараш хубав crashing бъг (наскоро оправях един в работата :) )