Ошибка в программе `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);
Объяснение кода листинга программы
- Объявлен массив аргументов командной строки
argv[]
- Задана переменная
argc
, которая содержит количество аргументов командной строки - Вызвана функция
write
для записи данных в файл или потокout
- В качестве аргументов функции
write
указаны адрес переменнойhead.p
и размер 1024 байта
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д