Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11639
Последний выпуск: 19.06.2015

strerror

[ Оглавление ]
               STRERROR
            
               #include <string.h>    требуется только для объявления
                                      функции
                                       
               char *strerror(string);
               char *string;           сообщение,        поставляемое
         
                                       пользователем
            
               int errno;              счетчик ошибок
               int sys_nerr;           счетчик сообщений системы
               char sys_errlist[sys_nerr];
                                       массив сообщений об ошибках
                  
               Описание.
                
               Если  string равна NULL, функция strerror возвращает указа-
         тель на строку, содержащую системное сообщение об ошибке для пос-
         леднего библиотечного вызова, в котором  выработана  ошибка;  эта
         строка оканчивается символом новой строки ('\n').
               Если string не равна NULL, strerror возвращает указатель на
         строку,  содержащую сообщение об ошибке, поставляемое пользовате-
         лем; двоеточие; пробел; системное сообщение об ошибке для послед-
         него библиотечного вызова, выработавшего ошибку; и  символ  новой
         строки ('\n'). Сообщение пользователя может иметь максимальную дли-
         ну до 94 байта.
               В  отличии  от perror, strerror не печатает никаких сообще-
         ний. Для печати сообщения,  возращаемого  strerror  в  stderr,  в
         программе должен быть оператор printf, например:
               if((access("datafile",2))++-1)
                printf(strerror(NULL));
            
               Номер ошибки хранится в переменной errno, которая объявлена
         на  внешнем уровне. Системные сообщения об ошибках доступны через
         переменную sys_errlist, которая является массивом  сообщений  для
         ошибок  из  счетчика  ошибок. По функции strerror посредством ис-
         пользования значения errno как индекса к sys_errlist можно  уста-
         новить  приблизительные сообщения об ошибках. Значение переменной
         sys_nerr определяется как максимальное число элементов в  массиве
         sys_errlist.
               Чтобы  выработать  правильный  результат,  функция strerror
         должна быть вызвана сразу после библиотечной процедуры, возвраща-
         ющей ошибку. Иначе значение errno  может  быть  перезаписано  для
         последующих вызовов.
            
               Возвращаемое значение.
                
               Функция strerror не возвращает никакого значения.
               См. также clearerr, ferror, perror.
      
            
               Замечание. В MS DOS некоторые значения errno, приведенные в
         <errno.h>,  не используются. См. приложение А "Сообщения об ошиб-
         ках", где приведен список значений errno и соответствующие  сооб-
         щения  об ошибках, которые применяются в MS DOS . Для любого зна-
         чения errno, не используемого в MS DOS, функция strerror печатает
         пустую строку.
            
               Пример.
          
               #include <fcntl.h>
               #include <sys\types.h>
         
               #include <sys\stat.h>
               #include <io.h>
               #include <stdlib.h>
            
               int fh1, fh2;
            
               fh1 = open("data1", O_RDONLY);
               if (fh1==-1)
                   strerror("open failed on input file");
            
               fh2 = open("data2", O_WRONLY : O_CREAT,
                              S_IREAD : S_IWRITE);
               if (fh2==-1)
                   srterror("open failed on output file");
            

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог