Я пытаюсь прочитать файл в C, который имеет четыре числа в строке, которые представляют координаты двух точек, а затем я пытаюсь найти расстояние между двумя точками. Для этого я читаю строки файла одну за другой и получаю их как массив символов. Вот что я сделал.
Функция вывода, которую я вызываю из read ()
void output(char *buff){
int co1,co2,co3,co4;
co1 = atoi(buff[0]);
co2 = atoi(buff[2]);
co3 = atoi(buff[4]);
co4 = atoi(buff[6]);
printf("(%d,%d) lies on the %s,(%d,%d) lies on the %s, distance is %f.\n",co1,co2,quadrant(co1,co2),co3,co4,quadrant(co3,co4),distance(co1,co2,co3,co4));
}
Считывание функции, которую я вызываю из main.
int read(){
FILE *file;
char buff[255];
file = fopen("point.dat", "r");
while(!feof(file)){
fgets(buff,255,file);
output(buff);
}
return !feof(file);
}
Основная функция
int main()
{
read();
return 0;
}
Но при этом я получаю ошибку ниже.
[Error] invalid conversion from 'char' to 'const char*' [-fpermissive]
Данные point.dat
0 0 3 4
-1 -4 5 6
-1 3 -1 -2
4 -5 -5 -6
3 5 -6 5
0 5 5 5
-5 0 0 -5
Как я могу преобразовать char в массив в выходной функции? Я тоже попробовал функцию стои, но я получил ошибку, что "стои не в области видимости"