Ошибка в программе `write' undeclared (first use this function) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Совсем недавно начал осваивать C++. Написал программу,но компилятор выдает ошибку 83 D:\Dev-Cpp\main.cpp `write' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.) Подскажите пожалуйста как исправить эту ошибку. Пользуюсь средой dev-C++ 4.9.9.2 Код прилагается
Листинг программы
  1. #include <cstdlib>
  2. #include <iostream>
  3. using namespace std;
  4. int main(int argc, char *argv[])
  5. {
  6. system("PAUSE");
  7. return EXIT_SUCCESS;
  8. }
  9. #define u unsigned
  10. struct BitMapFileHeader {
  11. unsigned __int16 Typf; // тип файла
  12. unsigned __int32 Size; // размер файла
  13. unsigned __int16 Res1; // зарезервировано
  14. unsigned __int16 Res2; // зарезервировано
  15. unsigned __int32 OfBm; // смещение изображения в байтах (1078)
  16. };
  17. struct bmInfoHeader { // информационный заголовок
  18. unsigned __int32 Size; // длина заголовка в байтах (40)
  19. unsigned __int32 Widt; // ширина изображения (в точках)
  20. unsigned __int32 Heig; // высота изображения (в точках)
  21. unsigned __int16 Plan; // число плоскостей (1)
  22. unsigned __int16 BitC; // глубина цвета (бит на точку) (8)
  23. unsigned __int32 Comp; // тип компрессии (0 - нет)
  24. unsigned __int32 SizI; // размер изображения в байтах
  25. unsigned __int32 XppM; // горизонтальное разрешение точек на метр - обычно 0
  26. unsigned __int32 YppM; // вертикальное разрешение точек на метр - обычно 0
  27. unsigned __int32 NCoL; // число цветов, если максимально допустимое - 0
  28. unsigned __int32 NCoI; // число основных цветов
  29. };
  30. struct bmHeader { // полный заголовок файла
  31. BitMapFileHeader f; // заголовок файла
  32. bmInfoHeader i; // информационный заголовок
  33. u char p[256*4]; // таблица палитры
  34. //int p[256];
  35. };
  36. int CreateBMP_Header (bmHeader &head, int x, int y);
  37. int WriteBMP_header (FILE *out, bmHeader &head);
  38. int CreateBMP_Header (bmHeader &head, int x, int y){
  39. //BitMapFileHeader
  40. head.f.Typf = (u __int16)(((__int8)'B')|((__int8)'M')<<8);
  41. head.f.Size = (u __int32)(x*y+1078);
  42. head.f.Res1 = 0;
  43. head.f.Res2 = 0;
  44. head.f.OfBm = 1078;
  45. //bmInfoHeader
  46. head.i.Size = 40;
  47. head.i.Widt = x;
  48. head.i.Heig = y;
  49. head.i.Plan = 1;
  50. head.i.BitC = 8;
  51. head.i.Comp = 0;
  52. head.i.SizI = x*y;
  53. head.i.XppM = 11808;
  54. head.i.YppM = 11808;
  55. head.i.NCoL = 0;
  56. head.i.NCoI = 0;
  57. //формирование таблицы цветов
  58. int j = 0;
  59. for (int i= 0; i<1024; j++){
  60. head.p[i++] = j;
  61. head.p[i++] = j;
  62. head.p[i++] = j;
  63. head.p[i++] = 0;
  64. }
  65.  
  66. return 0;
  67. };
  68. int WriteBMP_header (int out, bmHeader &head){
  69. //BitMapFileHeader
  70. //write(out, &head, sizeof(head));
  71. write(out, &head.f.Typf, sizeof(head.f.Typf));
  72. write(out, &head.f.Size, sizeof(head.f.Size));
  73. write(out, &head.f.Res1, sizeof(head.f.Res1));
  74. write(out, &head.f.Res2, sizeof(head.f.Res2));
  75. write(out, &head.f.OfBm, sizeof(head.f.OfBm));
  76. //bmInfoHeader
  77. write(out, &head.i.Size, sizeof(head.i.Size));
  78. write(out, &head.i.Widt, sizeof(head.i.Widt));
  79. write(out, &head.i.Heig, sizeof(head.i.Heig));
  80. write(out, &head.i.Plan, sizeof(head.i.Plan));
  81. write(out, &head.i.BitC, sizeof(head.i.BitC));
  82. write(out, &head.i.Comp, sizeof(head.i.Comp));
  83. write(out, &head.i.SizI, sizeof(head.i.SizI));
  84. write(out, &head.i.XppM, sizeof(head.i.XppM));
  85. write(out, &head.i.YppM, sizeof(head.i.YppM));
  86. write(out, &head.i.NCoL, sizeof(head.i.NCoL));
  87. write(out, &head.i.NCoI, sizeof(head.i.NCoI));
  88.  
  89. write(out, &head.p, 1024);
  90.  
  91. return 0;
  92. };

Решение задачи: «Ошибка в программе `write' undeclared (first use this function)»

textual
Листинг программы
  1. char *argv[];
  2. int argc;
  3. write(out, &head.p, 1024);

Объяснение кода листинга программы

  1. Объявлен массив аргументов командной строки argv[]
  2. Задана переменная argc, которая содержит количество аргументов командной строки
  3. Вызвана функция write для записи данных в файл или поток out
  4. В качестве аргументов функции write указаны адрес переменной head.p и размер 1024 байта

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы