Я нахожусь в своем первом году программирования, изучая третичный уровень. У меня был хороший поиск вашего сайта и google для чего угодно и всего на fwrite, fopen, invlosed типы, а также альтернативные методы в логике моей программы, и ответ не был готов. Я отлаживал это уже довольно много часов. Я пишу .BMP в файл, и я получаю следующее сообщение об ошибке компиляции:Ошибка: fwrite: 'stream' uneclared in C
НКУ -g -Wall -Werror -std = c99 -o тест working.c -lm
working.c: в функции 'serveBMP':
working.c: 190: 47: ошибка: 'файл_вывода' необъявленная (первое использование в этой функции) FWRITE (& pixelColor, SizeOf pixelColor, 1, OUTPUTFILE);
Здесь все соответствующий код (я надеюсь):
void serveBMP (int iteation) {
int countP = 0;
int countF = 0;
char pixelColor;
//To only create the file and write the header once
if (countF == 0) {
FILE *outputFile;
outputFile = fopen(BMP_FILE, "wb");
assert ((outputFile!=NULL) && "Cannot open file");
writeHeader(outputFile);
}
//Writes to BMP
while (countP<BYTES_PER_PIXEL) {
if (iteation < ITERATION_MAX) {
pixelColor = WHITE;
} else {
pixelColor = BLACK;
}
countF++;
countP++;
fwrite (&pixelColor, sizeof pixelColor, 1, outputFile);
}
}
я, очевидно, мне нужен заголовок и Еореп вне цикла этой функции вызывается в, но теперь поток необъявленный для некоторых причина. У кого-нибудь есть возможный ответ для этого, или, если нужно, это поможет этому. Я уже провел немало времени, экспериментируя с созданием файла в другой функции и без указаний в FILE *.
Thank you, Ryan.
Редактировать
Я ставлю FILE * выход за пределы, если заявление и все еще получаю ту же ошибку. Также я удалил «Я думал, что это опечатка после; на линии, и теперь я получаю ошибки. Я попытался вернуть его во многие комбинации. Так что сбивает с толку ...
gcc -g -Wall -Werror -std=c99 -o test working.c -lm
working.c: In function ‘mapBMP’:
working.c:127:53: error: missing terminating ' character [-Werror]
iteation = escapeSteps (displace, inputXY);'
^
working.c:127:10: error: missing terminating ' character
iteation = escapeSteps (displace, inputXY);'
^
working.c: In function ‘serveBMP’:
working.c:185:47: error: ‘outputFile’ undeclared (first use in this function)
fwrite (&pixelColor, sizeof pixelColor, 1, outputFile);
^
Мой 'c' немного ржавый, но он смотрит на меня, как вы объявляя' outputFile' внутри блока 'if', и он выходит за рамки, когда вы достигаете' fwrite', который сообщает об ошибке. –
Теперь я вывожу FILE * вне инструкции if и по-прежнему получаю ту же ошибку. Также я удалил «Я думал, что это опечатка после; на линии, и теперь я получаю ошибки. Я попытался вернуть его во многие комбинации. Так запутанно ... –