Как вы можете прочитать файл с неизвестной длиной строки (около 1500 строк, поэтому нет необходимости в malloc/alloc и т. Д., Потому что памяти достаточно ... к счастью, потому что я еще не понимаю эти команды массива/указателя) включая числа с плавающей запятой, знаки и буквы, извлекать из него определенные числа, выполнять некоторые вычисления и записывать их обратно в другой файл?Как читать из неизвестного файла, включая цифры, буквы и символы?
Три примеры линий:
02060 6.1 0.15 K14C9 134.52612 339.34971 209.27800 6.93836 0.3820989 0.01956864 13.6383665 0 MPO319108 1304 45 1895-2014 0.53 M-v 38h MPCLINUX 000A (2060) Chiron 20141030
05145 7.1 0.15 K14C9 90.96884 354.94362 119.25398 24.73205 0.5736395 0.01074547 20.3385073 0 MPO169571 319 21 1977-2009 0.58 M-v 38h MPCMEL 400A (5145) Pholus 20090418
07066 9.6 0.15 K14C9 67.95075 170.25614 31.23622 15.65639 0.5195581 0.00813869 24.4774642 1 MPO135426 105 9 1993-2004 0.48 M-v 38h MPCW 400A (7066) Nessus 20040526
'FILE * f, * g; \t f = fopen ("MPCORB_Distant.txt", "r"); \t g = fopen ("MPCORB_Distant_AvgKBOValues.txt", "w"); \t double Nbr, H, G, Epoch, M, w, W, i, e, n, a, UP, Ref, Obs, Opp, Arc, rms, Pert1, Pert2, Comp, Type, Name, LastObs; \t double Res_a, Res_e, Res_i, Res_W, Res_w; \t int c; \t \t в то время как ((с = fgetc (е))! = EOF) \t { \t \t fscanf (е, "% Л.Ф.% Л.Ф.% Л.Ф.% Л.Ф.% Л.Ф.% Л.Ф.% Л.Ф.% Л.Ф.% Л.Ф.% Л.Ф.% lf% lf% lf% lf% lf% lf% lf% lf% lf% lf% lf% lf% lf \ n ", & Nbr, & H, & G, & Epoch, & M, & w, & W, & i, & e, & n, & a , & UP, & Ref, & Obs, & OPP, & Arc, & эфф, & Pert1, & Pert2, & Comp, & Type, & Name, & LastObs); \t \t fprintf (g, "%. 8lf% .8lf% .8lf% .8lf% .8lf \ n", w, W, i, e, a); \t} fclose (f); \t fclose (g); 'что не так? – Lucas
Значения, которые мне нужны, находятся в правильном порядке при сравнении строк кода и примера в начальном вопросе. Я вижу некоторые из этих значений, но в печатных строках в основном повторяются повторы, а также некоторые произвольные числа. – Lucas