Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

wininet.dll

17K
02 февраля 2007 года
lonejan
9 / / 23.06.2006
Пишу прогу для обмена остатками по FTP. Юзаю wininet.dll, фигня получается когда я получаю список файлов с FTP. Создал тип WIN32_FIND_DATA. Получаю в цикле все файлы, но когда пытаюсь посмотреть имя файла:
FList типа WIN32_FIND_DATA
Теперь смотрю имя удалённого файла в дебагере:
print FList.cFileName=0.zip ota нћzЇPmщ^ш_ЄBFЃ eїпCЭx—‰•® фШ#НўrmieV.ИsА9µіТпР/Іигнн"Вѕжо,u@^гЖЧёґtс{†¬рДkНЭ&ђLg$P \чurпщ%щжbчRnЏ„мњОTj
©ЯбБщќ;ыж‡"‰О2cщЉЫ–AuТ%хcbВШV‰Иb,
ЯTпHсЌІ2ЛН6є‚HСњUfхХљи~c·@+,•DмУu{УyНГљ СmЩDВ{џ—OЫ•¤Рh€Tg‚({џ¬5ьЌн0K/ct›ъw¦>§XXhРW\є

И там какая то уйня...
0.zip - реальное имя файла, он есть на FTP, но вот что за ним... Откуда оно берётся? И каждый раз другие кракозяблики:(
Как с этим бороться?
1
02 февраля 2007 года
kot_
7.3K / / 20.01.2000
Цитата: lonejan
Пишу прогу для обмена остатками по FTP. Юзаю wininet.dll, фигня получается когда я получаю список файлов с FTP. Создал тип WIN32_FIND_DATA. Получаю в цикле все файлы, но когда пытаюсь посмотреть имя файла:
FList типа WIN32_FIND_DATA
Теперь смотрю имя удалённого файла в дебагере:
print FList.cFileName=0.zip ota нћzЇPmщ^ш_ЄBFЃ eїпCЭx—‰•® фШ#НўrmieV.ИsА9µіТпР/Іигнн"Вѕжо,u@^гЖЧёґtс{†¬рДkНЭ&ђLg$P \чurпщ%щжbчRnЏ„мњОTj
©ЯбБщќ;ыж‡"‰О2cщЉЫ–AuТ%хcbВШV‰Иb,
ЯTпHсЌІ2ЛН6є‚HСњUfхХљи~c·@+,•DмУu{УyНГљ СmЩDВ{џ—OЫ•¤Рh€Tg‚({џ¬5ьЌн0K/ct›ъw¦>§XXhРW\є

И там какая то уйня...
0.zip - реальное имя файла, он есть на FTP, но вот что за ним... Откуда оно берётся? И каждый раз другие кракозяблики:(
Как с этим бороться?


Уточни пожалуйста вопрос. Что именно вам нужно? В структуре WIN32_FIND_DATA - имя файла - строка размером MAX_PATH - т.е. в зависимости от системы имеет минимум 128 (помоему в вынь95). Поэтому то что вы смотрите это обыкновенный мусор в памяти.

17K
02 февраля 2007 года
lonejan
9 / / 23.06.2006
То что мусор памяти я и сам вижу:) вопрос в том можно ли его не получать?:/ Или его надо только ручками потом чистить?
1
02 февраля 2007 года
kot_
7.3K / / 20.01.2000
Цитата: lonejan
То что мусор памяти я и сам вижу:) вопрос в том можно ли его не получать?:/ Или его надо только ручками потом чистить?


Что чистить? Ты считываешь сроку для конца и все. Ничего чистить не надо. И не получаешь :) это мусор в памяти твоей машины :)

17K
02 февраля 2007 года
lonejan
9 / / 23.06.2006
Да не... Как раз всё получаешь. Или вы думаете, что я его специально дебагером пробивал эту ерунду:)) Потом вывожу экран в форме и эта херня вся на экране. Я тут пример один скачал из сети, там с этим борюццо вот такъ:
 
Код:
FileList(i&).cFileName = Left(FileList(i&).cFileName, InStr(1, FileList(i&).cFileName, String(1, 0), vbBinaryCompare) - 1)
1
02 февраля 2007 года
kot_
7.3K / / 20.01.2000
Цитата: lonejan
Да не... Как раз всё получаешь. Или вы думаете, что я его специально дебагером пробивал эту ерунду:)) Потом вывожу экран в форме и эта херня вся на экране. Я тут пример один скачал из сети, там с этим борюццо вот такъ:
 
Код:
FileList(i&).cFileName = Left(FileList(i&).cFileName, InStr(1, FileList(i&).cFileName, String(1, 0), vbBinaryCompare) - 1)


Хз. Может это фича конкретного ФТП или связанно с тем что файл удален?
К сожалению сейчас нет времени тестировать.
Попробуй так и опиши что получилось:

 
Код:
char name[MAX_PATH];
memset(name,"\0",sizeof(name));
strcpy(name,FList.cFileName)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог