Как записать массив в файл? - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include<windows.h>
#include <string.h>
int main(void)
{
double x[600]; /* объявление массива 100 целых */
int t;
FILE *fp;
if ((fp = fopen("test.txt","w"))==NULL) {
printf("Ошибка при открытии файла.\n");
exit(1);
}
for(t=0; t<600; ++t)
x[t] = 103501 + t;
for(t=0; t<600; ++t)
printf("%6.0f ", x[t]);
system("pause");
}Решение задачи: «Как записать массив в файл?»
textual
Листинг программы
#include <stdio.h>
#include<windows.h>
#include <string.h>
int main(void)
{
double x[600];
int t;
FILE *fp;
if ((fp = fopen("test.txt","w"))==NULL) {
printf("ГЋГёГЁГЎГЄГ* ïðè îòêðûòèè ГґГ*éëГ*.\n");
exit(1);
}
for(t=0; t<600; ++t)
x[t] = 103501 + t;
for(t=0; t<600; ++t) {
printf("%6.0f ", x[t]);
fwrite(&x[t], sizeof(float), 1, fp);
}
fclose(fp);
system("pause");
return 0;
}
Объяснение кода листинга программы
- Объявление переменных:
- double x[600]; - объявление массива x, который содержит 600 элементов типа double.
- int t; - объявление переменной t, которая будет использоваться в циклах.
- FILE *fp; - объявление указателя на файл, который будет использоваться для записи данных в файл.
- Открытие файла
test.txtв режиме записи: if ((fp = fopen(test.txt,w))==NULL) { printf(Не удалось открыть файл для записи.\n); exit(1); } - Заполнение массива x: for(t=0; t<600; ++t) x[t] = 103501 + t;
- Запись данных из массива x в файл
test.txt: for(t=0; t<600; ++t) { printf(%6.0f, x[t]); fwrite(&x[t], sizeof(float), 1, fp); } - Закрытие файла: fclose(fp);
- Вывод сообщения о завершении работы программы и ожидание нажатия клавиши:
system(
pause); - Возврат значения 0, что означает успешное завершение работы программы.