По FTP получаю реквизиты файлов/каталогов на сервере, в буфере вместе с именем мусор, как избавится?
Инициализировать все статическое.
tara:
Инициализировать все статическое.
Инициализировать все статическое.
А подробней можно или пример.
Проблема с тем, что WIN32_FIND_DATA должен измеряться в байтах, а вы его измеряете в int'ах (из которых каждый по 4 байта:)
Блин. Ну видно же, что все строчки нормальные- просто не взята подстрока.
Типа дает система строку "ААА", а буфер длиной 100.
3 символа значимое- остальное мусор.
Если нуль так и не встретится- то при печати будет крэш.
Типа дает система строку "ААА", а буфер длиной 100.
3 символа значимое- остальное мусор.
Если нуль так и не встретится- то при печати будет крэш.
На всякий случай, проверьте все смещения
typedef struct _WIN32_FIND_DATA { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReserved0; DWORD dwReserved1; TCHAR cFileName[MAX_PATH]; TCHAR cAlternateFileName[14]; } WIN32_FIND_DATA, *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;
А может, просто все дело в скобках?
text = text + CharToStr(curr & 0x000000FF) + CharToStr((curr >> 8) & 0x000000FF) + CharToStr((curr >> 16) & 0x000000FF) + CharToStr((curr >> 24) & 0x000000FF);
alsu:
Проблема с тем, что WIN32_FIND_DATA должен измеряться в байтах, а вы его измеряете в int'ах (из которых каждый по 4 байта:)
Проблема с тем, что WIN32_FIND_DATA должен измеряться в байтах, а вы его измеряете в int'ах (из которых каждый по 4 байта:)
По этому поводу есть статья, придерживался ее - https://www.mql5.com/ru/articles/1543
alsu:
А может, просто все дело в скобках?
Спасибо, помогло!
P.S. Поспешил, не помогло. Некоторые остались с мусором, некоторые стали без.
jartmailru:
Блин. Ну видно же, что все строчки нормальные- просто не взята подстрока.
Типа дает система строку "ААА", а буфер длиной 100.
3 символа значимое- остальное мусор.
Если нуль так и не встретится- то при печати будет крэш.
Блин. Ну видно же, что все строчки нормальные- просто не взята подстрока.
Типа дает система строку "ААА", а буфер длиной 100.
3 символа значимое- остальное мусор.
Если нуль так и не встретится- то при печати будет крэш.
А как в mql4 сформировать строку с нулем на конце?
Talex:
А как в mql4 сформировать строку с нулем на конце?
Формировать строку с нулем на конце в mql4 (впрочем как и в С++ / std::string)- не ваша задача.А как в mql4 сформировать строку с нулем на конце?
Надо просто подстроку взять с нужным количеством символов.
Хм... только вопрос- почему нуля нет в исходной строке? Или он там есть все же.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот скрипт, который получает данные. Не могу избавится от мусора в буфере, мусор дописывается к имени файла/каталога. Что делаю не так, подскажите.
Картинка с ftp сервера
А вот что в логе:
01:00:47 s-test EURUSD,M5: loaded successfully
01:00:49 s-test EURUSD,M5: IPTVлЋvИejяяяяяяяя?`к Р?АШ^,и^,X“Ђ
^хyыЉа?WюьА^,
01:00:49 s-test EURUSD,M5: docsqІГЂ%AN Miniport (IKEv2)
01:00:49 s-test EURUSD,M5: favicon.icoVІГЂHAN Miniport (IKEv2)
01:00:49 s-test EURUSD,M5: games+ІГЂkAN Miniport (L2TP)
01:00:49 s-test EURUSD,M5: index.htmls\Meta нІГaЂ±A
01:00:49 s-test EURUSD,M5: robots.txt-test.mВІГ"ЂWAN Miniport (PPTP)
01:00:49 s-test EURUSD,M5: tempAppData§ІГoЂ=ingCommonProgramFiles=C:\Program Files\Common FilesCOђІГUЂdRNAME
01:00:49 s-test EURUSD,M5: unixxeEMAIL=D:\mailFP_NO_„ІГSЂ`CHECK=NOHOMEDRIVE=C:HOMEPATH=\Users\AlexLOCALAPPDATA=C:\Users\Alex\AppData\LocalLOGONSERVER=\
01:00:49 s-test EURUSD,M5: windowsNTPat]іГCЂџWindows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files
01:00:49 s-test EURUSD,M5: uninit reason 0
01:00:49 s-test EURUSD,M5: removed