Ошибка в программе `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 Код прилагается
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
    #define u unsigned
    struct BitMapFileHeader {
    unsigned __int16 Typf;      // тип файла
    unsigned __int32 Size;      // размер файла 
    unsigned __int16 Res1;      // зарезервировано
    unsigned __int16 Res2;      // зарезервировано
    unsigned __int32 OfBm;      // смещение изображения в байтах (1078)
    };
    
    struct bmInfoHeader {       // информационный заголовок
    unsigned __int32 Size;      // длина заголовка в байтах (40)
    unsigned __int32 Widt;      // ширина изображения (в точках)
    unsigned __int32 Heig;      // высота изображения (в точках)
    unsigned __int16 Plan;      // число плоскостей (1)
    unsigned __int16 BitC;      // глубина цвета (бит на точку) (8)
    unsigned __int32 Comp;      // тип компрессии (0 - нет)
    unsigned __int32 SizI;      // размер изображения в байтах
    unsigned __int32 XppM;      // горизонтальное разрешение точек на метр - обычно 0
    unsigned __int32 YppM;      // вертикальное разрешение точек на метр - обычно 0               
    unsigned __int32 NCoL;      // число цветов, если максимально допустимое - 0                  
    unsigned __int32 NCoI;      // число основных цветов
    };
 
    struct bmHeader {           // полный заголовок файла
    BitMapFileHeader f;         // заголовок файла
    bmInfoHeader i;             // информационный заголовок
    u char p[256*4];            // таблица палитры
    //int p[256];
    };
 
    int CreateBMP_Header (bmHeader &head, int x, int y);
    int WriteBMP_header (FILE *out, bmHeader &head);
 
    int CreateBMP_Header (bmHeader &head, int x, int y){
    
    //BitMapFileHeader
    head.f.Typf = (u __int16)(((__int8)'B')|((__int8)'M')<<8);
    head.f.Size = (u __int32)(x*y+1078);
    head.f.Res1 = 0;
    head.f.Res2 = 0;
    head.f.OfBm = 1078;
 
    //bmInfoHeader      
    head.i.Size = 40;
    head.i.Widt = x;
    head.i.Heig = y;
    head.i.Plan = 1;
    head.i.BitC = 8;
    head.i.Comp = 0;
    head.i.SizI = x*y;
    head.i.XppM = 11808;
    head.i.YppM = 11808;
    head.i.NCoL = 0;          
    head.i.NCoI = 0;
    //формирование таблицы цветов
    int j = 0;
    for (int i= 0; i<1024; j++){
        head.p[i++] = j;
        head.p[i++] = j;
        head.p[i++] = j;
        head.p[i++] = 0;
    }

    return 0;
};
 
int WriteBMP_header (int out, bmHeader &head){
    //BitMapFileHeader
    //write(out, &head, sizeof(head));
    
    write(out, &head.f.Typf, sizeof(head.f.Typf)); 
    write(out, &head.f.Size, sizeof(head.f.Size));
    write(out, &head.f.Res1, sizeof(head.f.Res1));
    write(out, &head.f.Res2, sizeof(head.f.Res2));
    write(out, &head.f.OfBm, sizeof(head.f.OfBm));
 
    //bmInfoHeader  
    write(out, &head.i.Size, sizeof(head.i.Size));
    write(out, &head.i.Widt, sizeof(head.i.Widt));
    write(out, &head.i.Heig, sizeof(head.i.Heig));
    write(out, &head.i.Plan, sizeof(head.i.Plan));
    write(out, &head.i.BitC, sizeof(head.i.BitC));
    write(out, &head.i.Comp, sizeof(head.i.Comp));
    write(out, &head.i.SizI, sizeof(head.i.SizI));
    write(out, &head.i.XppM, sizeof(head.i.XppM));
    write(out, &head.i.YppM, sizeof(head.i.YppM));
    write(out, &head.i.NCoL, sizeof(head.i.NCoL));
    write(out, &head.i.NCoI, sizeof(head.i.NCoI));

    write(out, &head.p, 1024);

    return 0;
};

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

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

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

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

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


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

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

5   голосов , оценка 3.8 из 5
Похожие ответы