Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2014, 17:45   #1
BladzheR
 
Регистрация: 08.05.2013
Сообщений: 6
Сообщение Система обмена файлами (сокеты linux)

Здравствуйте!
Пишу систему обмена файлами,сервер-клиент.
Подскажите пожалуйста,не могу разобраться почему не происходит удаление файла в функции "deleteFile" пишет remove:: "No such file or directory"?Уже много вариантов перепробовал... Если прописать путь до файла вручную в сам remove,то файл удаляется...

+ хотелось бы,по возможности,узнать какие-нибудь советы и т.д.

Листинг Server-Client:
http://pastebin.ru/SMTM4ev6
BladzheR вне форума Ответить с цитированием
Старый 03.11.2014, 19:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Я может подслеповат, но в программе я не увидел получение имени файла этой функцией.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.11.2014, 19:54   #3
BladzheR
 
Регистрация: 08.05.2013
Сообщений: 6
По умолчанию

Имя файла читается из файла через "while (fgets(buffer, BUF_SIZE, f))"
buffer - это имя файла.
buf - путь до файла.

После я все это сливаю в единое целое :
"
...
strcpy(buf1, buf);
strcat(buf1, "/");
strcat(buf1, buffer);
...
"
BladzheR вне форума Ответить с цитированием
Старый 03.11.2014, 22:41   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Код не смотрел, но перед удалением файла можно вывести полученное имя. Так будет видно что реально пытаетесь удалить.
Навскидку - наверно по сети приходит только имя файла а в *текущей* папке такого файла нет. Для верности неплохо удалять файл по абсолютному пути.
waleri вне форума Ответить с цитированием
Старый 03.11.2014, 23:29   #5
BladzheR
 
Регистрация: 08.05.2013
Сообщений: 6
По умолчанию

Спасибо,это уже все сделано...
Имя выводится нормально как и должно.
У меня есть файл "список файлов под номерами",я его отправляю клиенту и вывожу на консоль клиента.Клиент отправляет номер файла из списка серверу,далее сервер вырезает имя файла под эти номер.Далее я сливаю "полный путь до файлов сервера" и "имя файла" в один массив.В конце пишу remove(массив);
BladzheR вне форума Ответить с цитированием
Старый 04.11.2014, 14:58   #6
BladzheR
 
Регистрация: 08.05.2013
Сообщений: 6
По умолчанию

Всем спасибо! Решил проблему через fgetc вместо fgets. Все заработало!
BladzheR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Асинхронные сокеты на Windows и Linux, разница между ними lawliet93 C/C++ Сетевое программирование 8 09.10.2014 17:05
Операционная система Linux.Shell shmat_ru Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 1 05.02.2014 15:43
Корпоративная система обмена сообщениями Dimka55 C# (си шарп) 1 29.11.2011 11:14
Программирование под Linux, файловая система. Magius1000 Помощь студентам 1 29.08.2010 11:58
OpenSuSE, операционная система класса Linux. Ал1234567 Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 1 19.08.2010 05:42