Моя цель - прочитать в txt-файле (small_ramp.txt), а затем ввести все числа, исключающие первый в массив. В файле есть 11 строк чисел на нем, число 10 в первой строке указывает количество чисел в файле, а затем следующие 10 чисел (1-10) Small_ramp.txt. Когда в командной строке я вхожу в Stats.exe < small_ramp.txt при выполнении этой команды I Error получает это сообщение об ошибке.C Как читать в файле из командной строки args
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int n, i;
FILE* fpointer;
double *arr;
fpointer = fopen(argv[1], "r");
if (argc != 2) {
printf("ERROR: you must specify file name!\n");
return 1;
}
if (!fpointer) {
perror("File open error!\n");
return 1;
}
fscanf(fpointer, "%d", n);// Scan first line of small_ramp.txt to find array size
arr = (double*)malloc(sizeof(double) * n);// allocate memory for array with the size given (n)
while (!feof(fpointer)) {
fscanf(fpointer, "%lf", arr + 1);
}
for (int i = 0; i < n; ++i)
{
printf("%lf,", arr[i]);
}
fclose(fpointer);
return 0;
}
Я предполагаю, что мой вопрос я читал в файл правильно, и если так может кто-то мне точку в правильном направлении для исправления этой ошибки?
'Stats.exe small_ramp.txt' вместо' Stats.exe
BLUEPIXY
также 'в то время как { fscanf (fpointer, "% LF", обр + 1) (feof (fpointer)!); } '->' for (i = 0; i
BLUEPIXY
@JafferWilson Этот вопрос был у него имя файла, установленное на argv [0] вместо 1 – Maxium