|
|
|
Как сконверитить из CString в char * ?
|
|||
|---|---|---|---|
|
#18+
Есть CString s; Есть ф-ия formatt_(char * inp); Как посимвольно сконвертить s в ф-ию formatt_? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2005, 18:46 |
|
||
|
Как сконверитить из CString в char * ?
|
|||
|---|---|---|---|
|
#18+
Anton M.Есть CString s; Есть ф-ия formatt_(char * inp); Как посимвольно сконвертить s в ф-ию formatt_? Тут ньюансов дохрена 1а) У тебя не уникодовый прооект. Тогда CString действительно содержит массив char' ов. 1б) У тебя все-таки уникодовый прооект. Тогда CString содержит не char'ы а short'ы 2а). Функция formatt_ не модифицирует строку. Тогда надо просто снять const с внутренней строки 2б) Функция formatt_ модифицирует строку. Тогда const снимать нельзя, надо скопировать строку во внеший буфер, и уже передать его formatt_, а потом полученное записать назад. А вообще неплохо бы для начало сделать RTFM и найти там описание CString::GetBuffer() и CString::ReleaseBuffer() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2005, 22:49 |
|
||
|
Как сконверитить из CString в char * ?
|
|||
|---|---|---|---|
|
#18+
Anton M. , мне сейчас негде проверить но насколько я помню у CString есть оператор LPSTR который приводит CString к char* Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 13:55 |
|
||
|
Как сконверитить из CString в char * ?
|
|||
|---|---|---|---|
|
#18+
funikovyuri Anton M. , мне сейчас негде проверить но насколько я помню у CString есть оператор LPSTR который приводит CString к char* Код: plaintext 1. 2. 3. 4. Там есть оператор operator LPCTSTR(), который все-таки даёт указатель на const: const char*. CString cstr; const char *str = (LPСTSTR)cstr; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 16:35 |
|
||
|
Как сконверитить из CString в char * ?
|
|||
|---|---|---|---|
|
#18+
Есть функция LockBuffer() которая возврашает указатель на char (Обязательно после использования вызвать ReleaseBuffer()) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 19:58 |
|
||
|
Как сконверитить из CString в char * ?
|
|||
|---|---|---|---|
|
#18+
funikovyuri Anton M. , мне сейчас негде проверить но насколько я помню у CString есть оператор LPSTR который приводит CString к char* (LP CT STR) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 21:27 |
|
||
|
Как сконверитить из CString в char * ?
|
|||
|---|---|---|---|
|
#18+
Всем огромное спасибо! Решил вопрос следующим образом: Задача на самом деле была такова: Есть ф-я, на вход которой дается char *. Есть main, откуда вызываем ф-ю, есть CString s. На вход ф-ии нужно подать s . Решил вопрос так: NMEA_GPS_RECIEVE_DATA((LPSTR) &(((LPCTSTR) s))); (LPSTR) &(((LPCTSTR) s)) - нехило, а? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 11:37 |
|
||
|
Как сконверитить из CString в char * ?
|
|||
|---|---|---|---|
|
#18+
Anton M. Всем огромное спасибо! Решил вопрос так: NMEA_GPS_RECIEVE_DATA((LPSTR) &(((LPCTSTR) s) )); (LPSTR) &(((LPCTSTR) s)) - нехило, а? :) Реботать если и будет, то случайно. Судя по тому, что макрос называется RECEIVE DATA, то formatt_ все - таки модифицирует строку - он туда пишет данные с GPS. А CString специально умные люди сделали так, чтобы он не возвращал указатель на данные,ктоторые можно модифицировать. Надо делать так char buff[максимальная длина порции иформации, котопрую можно получить]ж CString str = buff; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 13:46 |
|
||
|
Как сконверитить из CString в char * ?
|
|||
|---|---|---|---|
|
#18+
Реботать если и будет, то случайно. Судя по тому, что макрос называется RECEIVE DATA, то formatt_ все - таки модифицирует строку - он туда пишет данные с GPS. А CString специально умные люди сделали так, чтобы он не возвращал указатель на данные,ктоторые можно модифицировать. Надо делать так char buff[максимальная длина порции иформации, котопрую можно получить]ж CString str = buff;[/quot] К сожалению ситуация такая что на вход ф-ии нужно подавть именно символ из CString s, т.е. s . Подаваемый тип char *. Так что просто подать buff не удастся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 14:01 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33276595&tid=2032765]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 403ms |

| 0 / 0 |
