Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 335

Раздел: C++
/ вопрос решён /

Приветствую, уважаемые эксперты!
Помогите, пожалуйста, с функцией (в приложении). Память под массивы выделена правильно, до цикла fscanf() работает, а вот после - читает какой-то мусор. В чем может быть дело?

Приложение:
  1.  
  2.  
  3.  
  4.  
  5. int load_from_file (double *inp_s, double *out_s, double *time, inp_data_t *inp_d,
  6. double *in_len, double *out_len, char *file_name) {
  7. FILE *file;
  8. if ((file = fopen(file_name, "r")) == NULL)
  9. return FAIL;
  10.  
  11. fscanf(file, "n = %d\n", &inp_d->n);
  12. fscanf(file, "t[Start] = %d\n", &inp_d->tSt);
  13. fscanf(file, "t[Finish] = %d\n", &inp_d->tFin);
  14. fscanf(file, "u = %lf\n", &inp_d->u);
  15. fscanf(file, "u[1] = %lf\n", &inp_d->u1);
  16. fscanf(file, "u[2] = %lf\n\n", &inp_d->u2);
  17.  
  18. fscanf(file, "\n\n\n");
  19. int i = 0;
  20. for (i; i < inp_d->n; i++) {
  21. fscanf(file, "%*c %*d %*c %lf %*c %lf %*c %lf %*c\n", &time[i], &inp_s[i], &out_s[i]);
  22. }
  23. fscanf(file, "\n");
  24.  
  25. fscanf(file, "Input signal length = %lf\n", in_len);
  26. fscanf(file, "Output signal length = %lf\n", out_len);
  27.  
  28. return DONE;
  29. }
  30.  
  31.  
  32.  
  33. n = 25
  34. t[Start] = -20
  35. t[Finish] = 20
  36. u = -80.00
  37. u[1] = 10.00
  38. u[2] = 100.00
  39.  
  40. +-----+----------+----------+----------+
  41. | N | Time | Inp | Out |
  42. +-----+----------+----------+----------+
  43. | 1 | -20.00 | 0.00 | 0.00 |
  44. | 2 | -18.33 | -6.67 | 66.67 |
  45. | 3 | -16.67 | -13.33 | 100.00 |
  46. | 4 | -15.00 | -20.00 | 100.00 |
  47. | 5 | -13.33 | -26.67 | 100.00 |
  48. | 6 | -11.67 | -33.33 | 100.00 |
  49. | 7 | -10.00 | -40.00 | 100.00 |
  50. | 8 | -8.33 | -46.67 | 100.00 |
  51. | 9 | -6.67 | -53.33 | 100.00 |
  52. | 10 | -5.00 | -60.00 | 100.00 |
  53. | 11 | -3.33 | -66.67 | 100.00 |
  54. | 12 | -1.67 | -73.33 | 100.00 |
  55. | 13 | 0.00 | -80.00 | 100.00 |
  56. | 14 | 1.67 | -73.33 | 100.00 |
  57. | 15 | 3.33 | -66.67 | 100.00 |
  58. | 16 | 5.00 | -60.00 | 100.00 |
  59. | 17 | 6.67 | -53.33 | 100.00 |
  60. | 18 | 8.33 | -46.67 | 100.00 |
  61. | 19 | 10.00 | -40.00 | 100.00 |
  62. | 20 | 11.67 | -33.33 | 100.00 |
  63. | 21 | 13.33 | -26.67 | 100.00 |
  64. | 22 | 15.00 | -20.00 | 100.00 |
  65. | 23 | 16.67 | -13.33 | 100.00 |
  66. | 24 | 18.33 | -6.67 | 66.67 |
  67. | 25 | 20.00 | 0.00 | 0.00 |
  68. +-----+----------+----------+----------+
  69. Input signal length = 20.00
  70. Output signal length = 38.33
  71.  


IlluminatI Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: IlluminatI (статус: 2-ой класс)
Вопрос отправлен: 29 мая 2011, 13:39
Состояние вопроса: решён, ответов: 0.


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 29 мая 2011, 19:07; участников в обсуждении: 1.
IlluminatI

IlluminatI (статус: 2-ой класс), 29 мая 2011, 19:07 [#1]:

Все, сам разобрался.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:41
Выполнено за 0.02 сек.