Записать в файл цифру или любой другой символ - C (СИ)
Формулировка задачи:
Любители писать програмки, подскажите как мне загнать в файл цифру/символ из переменной.
int main() { int i=0,j=0,nl=0,op=0; char yyy=0; char a[1019776]; FILE *ff = fopen( "c:\\111.bmp", "r" ); // r-чтение FILE *xxx = fopen( "c:\\111.txt", "a" ); // а-дописать while(!feof(ff)) { a[i]=fgetc(ff); i++; } while(j!=i) { if (a[j]!=0) nl=0; if (a[j]==0) { nl++; if (nl==19) op=1; } if (op==1) {printf("%d",a[j+1]);} j++; yyy=a[j]; // НЕЗЯ fputs (yyy,xxx); // НЕЗЯ причем fputs ("text",xxx); Можно } printf ("\n\nAll Symbol = %d" , i); printf ("\nAll Symbol = %d" , j); getchar(); fclose(ff); return 0; }
Решение задачи: «Записать в файл цифру или любой другой символ»
textual
Листинг программы
#include <stdio.h> int main() { FILE *fp = fopen("файл.txt", "r"); int c; c = getc(fp); while (c != EOF) { /* Выводим файл в stdout */ putchar(c); c = getc(fp); } if (feof(fp)) puts("Конец файла достигнут."); else if (ferror(fp)) puts("Ошибка чтения из потока."); else /*НЕ ДОСТИГНУТ*/ puts("getc() завершилась с неопознанной ошибкой."); fclose(fp); return 0; }
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- Открытие файла:
- Строка
FILE *fp = fopen(
файл.txt,
r);
открывает файл с именемфайл.txt
для чтения. - Значение переменной
fp
теперь является дескриптором файла, который используется в последующих вызовах функций для работы с файлом.
- Строка
- Чтение файла:
- Цикл
while (c != EOF)
читает файл построчно до тех пор, пока не достигнет конца файла (EOF). - На каждой итерации цикла значение
c
становится следующим символом в файле. - Значение
c
выводится в stdout с помощью функцииputchar()
.
- Цикл
- Проверка ошибок:
- Если достигнут конец файла (EOF), то выводится сообщение
Конец файла достигнут.
с помощью функцииputs()
. - Если произошла ошибка чтения из потока, то выводится сообщение
Ошибка чтения из потока.
с помощью функцииputs()
. - Если произошла ошибка, не распознанная функцией
getc()
, то выводится сообщениеgetc() завершилась с неопознанной ошибкой.
с помощью функцииputs()
.
- Если достигнут конец файла (EOF), то выводится сообщение
- Закрытие файла:
- Вызов
fclose(fp);
закрывает файл.
- Вызов
- Возврат значения:
- Возвращается значение 0, что означает успешное выполнение программы. Таким образом, этот код считывает файл построчно и выводит каждый символ в stdout. Если происходит ошибка чтения из файла, выводится соответствующее сообщение об ошибке.