Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > Система обмена файлами (сокеты linux) |
Автор: BladzheR 4.11.2014, 13:33 |
Здравствуйте! Пишу систему обмена файлами,сервер-клиент. Подскажите пожалуйста,не могу разобраться почему не происходит удаление файла в функции "deleteFile" пишет remove:: "No such file or directory"?Уже много вариантов перепробовал... Если прописать путь до файла вручную в сам remove,то файл удаляется... + хотелось бы,по возможности,узнать какие-нибудь советы и т.д. Листинг Server-Client: http://pastebin.ru/SMTM4ev6 |
Автор: xvr 5.11.2014, 13:03 |
Видимо потому что fgets читает строку вместе с символом новой строки ('\n'), и использует для формирования имени файла вместе с этим символом. Я очень сомневаюсь, что файл у вас называется "Дима_Пряхин-новая_религия(copy).mp3\n" ![]() |
Автор: svlary 5.11.2014, 13:41 | ||||
Это неверно. Можете запустить вот эту программульку и посмотреть, что она печатает:
На мой взляд, ошибка заключается в том, что полное имя файла собирается в переменной buf1 (строка 239), а вызов функции удаления выполняется с параметром buff, который НЕ является полным путём. Кстати говоря, конкатенация символа '\0' в строке 238 не нужна. Этот символ и так присутствует во всех строках, которые формируют стандартные программы работы со строками. |
Автор: BladzheR 5.11.2014, 13:53 | ||
xvr,svlary, спасибо,я вчера заменил fgets на fgetc и все заработало.
Так же,к сожалению, пока никак не могу разобраться почему зависает соединение при добавлении файла на сервер в функции "int addFile(int sock);" Сам файл на сервер передаётся и после соед.висит.Помогает только Ctrl + C. Код "int addFile(int sock);" аналогичен коду в функции "int downloadFile(int sock) " - там все работает нормально,сервер передаёт файл клиенту... Может быть я что-то не заметил? |
Автор: BladzheR 5.11.2014, 20:51 |
xvr, не получается исправить,все равно зависает,либо я что-то не так делаю/понял. Мне еще только интересно почему в функции "int downloadFile(int sock) " тот же код работает,а в этой функции зависает ... |
Автор: Romikgy 5.11.2014, 23:07 |
в ней send, а recv пока не примет BUF_SIZE не успокоиться... |
Автор: svlary 6.11.2014, 17:20 | ||
Да, Вы правы! Добавлено через 5 минут и 16 секунд Не совсем так... Возможен режим "сообщений" :
Ну я подробно не буду это обсуждать, так как сам не пользовался... |
Автор: ajtakt 7.11.2014, 12:27 |
Модератор: Сообщение скрыто. |
Автор: BladzheR 7.11.2014, 23:14 |
Всем спасибо!Система готова. |