2011-02-24 3 views
0

У меня есть файл, который имеет числа с плавающей точкой, разделенные пробелами, и я хочу открыть файл и использовать числа внутри этого файла для математических операций (например, среднее), как бы это сделать, используя только следующее: fopen, fscanf, fclose , printf/scanf, указатели, если/else/switch/loop? (Нет массивов).Как читать файл с ограниченным пространством в C с помощью fscanf с ограничениями?

Число значений в файле с разделителями пространства может быть любой суммы.

+2

Это домашнее задание? –

+0

Да, я еще ничего не сделал с форматированным вводом, и я пытался найти хорошие ресурсы для scanf/fscanf. – user633153

+0

'man fscanf' даст много информации о том, какие именно параметры использовать. Он может ответить на все ваши вопросы, особенно если ваш файл просто разделен пробелами. –

ответ

0

Не зная количества, вам нужно будет прочитать цифры до тех пор, пока не встретите конец файла, например. используйте конструкцию while. Продолжайте подсчитывать количество прочитанных чисел.

Помните:

  1. Проверьте возвращаемое значение fscanf, который указывает, сколько значения читать.
  2. Прочтите одно число за цикл, чтобы получить все работает.
  3. Тест на EOF после чтения от файла, так как показание может вызывать EOF.
  4. Также проверьте наличие другого возможного файла ошибок.
+0

Спасибо за ответ. После прочтения файла с циклом, как бы я выполнял операции (например, sum, average) по поплавкам без использования массива? – user633153

+0

В 'sum' требуется только сумма суммирования. Добавьте значение, считанное в 'sum'. После суммирования всех значений разделите по счету, и это даст вам среднее значение. Сохраняйте значения только в том случае, если вы хотите сделать больше анализов после чтения файла. –

+0

Благодарим вас за помощь. Оказывается, источником моей путаницы было то, что делал fscanf (например, когда это определенный плавающий?), Поэтому я собираюсь искать больше ресурсов C/практики с файлами. – user633153

Смежные вопросы