Ошибка в программе `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 байта
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д