diego411 utworzono 6 września 2013 utworzono 6 września 2013 (edytowane) Witam. Mam pewien problem. Otóż napisałem program w C++ który w pewien sposób modyfikuje plik .html. Po modyfikacji następuję wywołanie pliku .bat który ma za zadanie wysłanie gotowego pliku .html na FTP. Program modyfikujący (C++) działa znakomicie lecz podczas uploadu na FTP (CMD) kawałek pliku zostaje obcięte! Tak podczas wysyłania, gdyż sprawdzam gotowy plik po modyfikacji i jest poprawny. Problem ten występuję tylko gdy .bat wywoływany jest przez program modyfikujący plik, jeżeli zmodyfikuje plik programem bez wywołania uploadu i ręcznie odpale plik uploadujący (BAT) to nie obcina. Tutaj SS: http://iv.pl/images/73794012968152968583.png Po lewej ręczne odpalenie uploadu, po prawej automatyczne wywołanie z programu w c++. Jak widać ten sam plik a różni się w wielkości. Proszę o pomoc..
leggo komentarz 7 września 2013 komentarz 7 września 2013 Szkoda, że nie pokazałeś choć fragmentu kodu. Jak rozumiem w programie tworzysz plik, zapisujesz go na dysku, a następnie wysyłasz. Jak wywołujesz bat? Zamykasz modyfikowany plik przed wysłaniem? 1
diego411 komentarz 7 września 2013 Autor komentarz 7 września 2013 Wybacz, zapomniałem. Dokładnie tak, program w c++ tworzy plik, zapisuje (i jest w całości gdyż sprawdzam zawartość) Wywołanie poprzez funkcje void FTP(string sciezka) { system(sciezka.c_str()); } gdzie sciezka=="upload.bat". upload.bat: ftp -n -s:polecenia.txt polecenia.txt: open ftp.xxxxx.pl user xxx xxx cd www del index.html put index.html quit Dodam że wszystko działało jakiś tydzień temu.
diego411 komentarz 9 września 2013 Autor komentarz 9 września 2013 Okazało się że plik.close(); był po wywołaniu funkcji odpalającej .bat i dane się zapisywały po wysłaniu na ftpa. Pozdrawiam!
Rekomendowana odpowiedź leggo komentarz 10 września 2013 Rekomendowana odpowiedź komentarz 10 września 2013 Zamykasz modyfikowany plik przed wysłaniem? 1
diego411 komentarz 10 września 2013 Autor komentarz 10 września 2013 (edytowane) Dzięki za pomoc. Mam jeszcze pytanie. Jak zrobić zabezpieczenie przed ewentualnym brakiem dostępu do sieci. Chodzi o to że gdy uruchamiam program to chce najpierw sprawdzić czy jest dostęp do sieci. Da się coś takiego w CMD zrobić?
diego411 komentarz 11 września 2013 Autor komentarz 11 września 2013 Dużo mi to nie mówi, użycie ping da mi tylko komunikat że nie ma połączenia, czy coś podobnego, a ja potrzebuje zamknąć program w tym momencie. Próbowałem z if i ERRORCODE ale nie wychodziło..
leggo komentarz 11 września 2013 komentarz 11 września 2013 Po pingowaniu wstawisz coś takiego: if errorlevel 1 goto blad rem tutaj wysyłanie pliku (wywołanie pliku polecenia.txt) goto koniec :blad echo brak polaczenia :koniec 1
diego411 komentarz 12 września 2013 Autor komentarz 12 września 2013 O, dziękuję bardzo. Pozdrawiam:)
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.