|
|
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { вызываю это приложение с параметрами 12 30 Затем пытаюсь эти параметры присвоить переменным. s= char*; s = (char *) calloc( 255, sizeof( char ) ); s=(char *) lpCmdLine; HWND hWnd1; HWND hWnd2; int i=0; int y=0; sscanf(s,"%x %x",&i,&y); hWnd1=(HWND) i; hWnd2=(HWND) y; Почему-то присваивается только первое значение, т.е. x=12, а y - так и остается 0. Почему это может происходить? А если пытаюсь таким образом распарсить просто строку char*, то все нормально. Не работает только с LPSTR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 13:11 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
Может, кто-нибудь тогда может подсказать, как вообще вытянуть из этой lpCmdLine 2 числа? в переменные x и y? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 13:39 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
Уверены что в s храниться правельная строка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 13:52 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
поможет функция strtok. как-то так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 13:53 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
x-a wrote: > Почему-то присваивается только первое значение, т.е. x=12, а y - так и > остается 0. Почему это может происходить? А если пытаюсь таким образом > распарсить просто строку char*, то все нормально. Не работает только с > LPSTR. Я советую посмотреть доки по WinMain. Вполне возможно, что арументы чем-то разделены (просто не помню). Далее. В WinAPI должна быть функция что-то вроде ParseCommandLine или CommandLineToArgv. Как называется, не помню, но вроде было. (Винды сейчас на компе нет, документация далеко, проверить не могу - ищите сами). Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:21 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
C++ возможно, но лучше С. В хранится точно правильная строка.. Может, какая особенность LPSTR? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:21 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
2 сообщения вверх - код рабочий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:27 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
Попробовала код. Все равно второй аргумент =0! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:33 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
x-aВ хранится точно правильная строка.. Может, какая особенность LPSTR? 1) И разделитель между 12 и 30 пробел? 2) Если в s уже правельная строка, то, в данном случае, на особенности LPSTR уже пох, т.к. данные получили корректные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:35 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
Извините. Точнее нет, x принимает вообще странное значение - явно не то, которое посылается в ком. строку. А y =o ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:36 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
Да, пробел. 32 код. Уже проверено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:37 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
LPSTR - это просто char * переопределённый. а на входе в WinMain в lpCmdLine что хранится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:43 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
100 200 т.е. моя строка в нормальном виде. Параметры доходят нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:45 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
x-aДа, пробел. 32 код. Уже проверено. Строка чем заканчивается, т.е.: 12 30 =0x31 0x32 0x20 0x33 0x30 ... - что дальше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:45 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
О! Все нормально! Спасибо! Работает! Только вот одна проблема существует. как мне 16-е числа передать... Они же считываются в int x,y. hWnd1=(HWND) x; hWnd2=(HWND) y; Правильного результата не дает. А мне надо в программу передать хендлы двух процессов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:51 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
Akh x-aДа, пробел. 32 код. Уже проверено. Строка чем заканчивается, т.е.: 12 30 =0x31 0x32 0x20 0x33 0x30 ... - что дальше? Могу сказать только коды символов в строке: 1 51 52 102 32 103 54 107 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 14:55 |
|
||
|
LPSTR
|
|||
|---|---|---|---|
|
#18+
x-a wrote: > О! Все нормально! Спасибо! Работает! Только вот одна проблема существует. > как мне 16-е числа передать... Они же считываются в int x,y. 1) Напечатать их как unsigned long (оно таковым и является) 2) Напечатать их как %.8x Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 15:45 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34623412&tid=2028597]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 451ms |

| 0 / 0 |
