Чтение данных из файла в С
Не получается вывести в программе данные, считанные из файла input.txt. Файл находится в директории проекта и содержит строчку чисел - 5 100 95 5 10 45 50. Сама программа выводит какой-то мусор. В чем может быть ошибка?
Файл main.c
#include "function.h"
int main() {
double N, U1, U2, tn, t1, t2, tk;
int x;
sposob_vvoda(&x, &N, &U1, &U2, &tn, &t1, &t2, &tk);
return 0;
}
Файл function.h
#include < stdio.h >
#include < stdlib.h >
#include < math.h >
void sposob_vvoda(int *x, double *N, double *U1, double *U2, double *tn, double *t1, double *t2, double *tk);
Файл function.c
#include "function.h"
void sposob_vvoda(int *x, double *N, double *U1, double *U2, double *tn, double *t1, double *t2, double *tk) {
printf("Выберите способ ввода данных:\n 1.С клавиатуры \n 2.Из файла\n");
scanf("%d", x);
switch(*x)
{
case 1:
klav(&N, &U1, &U2, &tn, &t1, &t2, &tk);
break;
case 2:
vvod_iz_faila(&N, &U1, &U2, &tn, &t1, &t2, &tk);
break;
}
}
Файл vvod_iz_faila.c
#include "function.h"
void vvod_iz_faila(double *N, double *U1, double *U2, double *tn, double *t1, double *t2, double *tk) {
FILE *input;
if( (input=fopen("input.txt","r")) == 0 ) {
printf("Ошибка открытия файла");
}
fscanf(input, "%d%d%d%d%d%d%d", N, U1, U2, tn, t1, t2, tk);
printf("vy vveli %d %d %d %d %d %d %d", N, U1, U2, tn, t1, t2, tk);
fclose(input);
}
Программа выводит следующее:
Выберите способ ввода данных:
1.С клавиатуры
2.Из файла
2
vy vveli 2337384 2337392 2337400 2337408 2337416 2337424 2337432
ВЫПОЛНЕНИЕ SUCCESSFUL (общее время: 5s)