У меня есть код ниже, и я пытаюсь прочитать текстовый файл с разделителями-запятыми и нужно захватить значения. Текстовый файл (out.txt) содержит 2 числа:Чтение значений текстового файла
12.4,45.8
Мой код:
#include <stdlib.h>
#include<stdio.h>
int main()
{
system("python Grab_Values.py > out.txt");
FILE *ptr_file;
char buf[1000];
int v1;
int v2;
ptr_file =fopen("out.txt","r");
if (!ptr_file)
return 1;
while (fgets(buf,1000, ptr_file)!=NULL)
fscanf(buf, "%d,%d\n", &v1, &v2);
fclose(ptr_file);
printf("%d" "\n", v1);
return 0;
}
При компиляции я получаю следующие ошибки:
test.c: In function âmainâ:
test.c:17:10: warning: passing argument 1 of âfscanfâ from incompatible pointer type [enabled by default]
/usr/include/stdio.h:445:12: note: expected âstruct FILE * __restrict__â but argument is of type âchar *â
Я до сих пор переменного тока noob, поэтому, вероятно, это простая ошибка, но я не могу понять, что :(
'int fscanf (FILE * stream, const char * format, ...);' Также неверно использовать '% d' для чтения значения float (12.4). –
определение fscanf: 'int fscanf (FILE * stream, const char * format, ...);' – bitcell
Вы, кажется, читаете целые числа ("% d,% d"), но значения, которые вы показываете, являются плавающей запятой значения. – Evert