Вопрос.
В моей лабораторной работе есть такая часть задания:"После поступления 3-х прерываний два файла(которые сравниваются зарание) записать в заново созданый каталог..."Помогите сделать так, что-бы если такой катаог уже создан, то не вызывать системный вызов makedir, а просто скопировать в каталог...Зарание спасибо.
1. системного вызова makedir не существует. есть системный вызов mkdir. makedir - вероятно библиотечная функция-обертка для этого системного вызова. хотя я у себя такой не нашел.
2. man mkdir!!!!!!
дам наводку - проверяйте значение, возвращаемое mkdir.
1. системного вызова makedir не существует. есть системный вызов mkdir. makedir - вероятно библиотечная функция-обертка для этого системного вызова. хотя я у себя такой не нашел.
2. man mkdir!!!!!!
дам наводку - проверяйте значение, возвращаемое mkdir.
1)Да Я опечатался....
2)Если проверять сообщение, которое возвращает mkdir, то будет помойму немного позновато....Нужно ведь до mkdir проверить есть такая папка или нет...Если не трудно, преведи хоть пример, как можно оценивать то, что возвращает mkdir...
1)Да Я опечатался....
2)Если проверять сообщение, которое возвращает mkdir, то будет помойму немного позновато....Нужно ведь до mkdir проверить есть такая папка или нет...Если не трудно, преведи хоть пример, как можно оценивать то, что возвращает mkdir...
}
else { // ошибка создания
if( errno == EEXIST ) { // каталог или файл с данным именем уже существует
}
else { // другие ошибки
}
}
}
else { // ошибка создания
if( errno == EEXIST ) { // каталог или файл с данным именем уже существует
}
else { // другие ошибки
}
}
А разве system("mkdir") возвращает 0 или 1???
А разве system("mkdir") возвращает 0 или 1???
Это мне напоминает путешествие из Петербурга в Москву через Сибирь. Ну зачем тебе сдался system("mkdir"), если есть mkdir() !?
А разве system("mkdir") возвращает 0 или 1???
Это он наверно от того, что не нашел, где mkdir() подключать :)
В примере приведен системный вызов mkdir(), на основе которого работает команда mkdir. И вот он то и возвращает 1 - в случае ошибки, 0 - в случае успеха. Описан он в <sys/stat.h>
Можно еще использовать вызов opendir(имя_каталога) - находится в <dirent.h>. Возвращает указатель на каталог типа DIR, или NULL в случае неудачи.
ЗЫ system() обычно возвращает 0 в случае успеха выполнения команды и 1 в случае неудачи. Хотя это может зависить от ОС.