Программа зависает при Fopen - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdio.h>
 
int main(void)
{
    int i;
    FILE * fileRead;
    fileRead = fopen("E:\\matrix.txt", "a+");
    int n, m, temp, kolP = 0, sumP = 0;
    fscanf(fileRead, "%i%i", &n, &m);
    for(i = 0; i < n*m; i++){
        fscanf(fileRead, "%i", &temp);
        if(temp>0){
            kolP++;
            sumP+=temp;
        }
    }
    fflush(fileRead);
    fprintf(fileRead, "\nКоличество положительных - %i Сумма положительных - %i", kolP, sumP);
    fclose(fileRead);
    return 0;
}
Почему-то зависает...
файл содержит: 2 3 1 2 3 4 5 6

Решение задачи: «Программа зависает при Fopen»

textual
Листинг программы
...
fseek(fileRead, 0, SEEK_END);
fprintf(fileRead, "\nКоличество положительных - %i Сумма положительных - %i", kolP, sumP);
...

Объяснение кода листинга программы

  1. fileRead - это файловый указатель, который вероятно был получен через функцию fopen.
  2. kolP - это переменная целочисленного типа, которая представляет количество положительных чисел.
  3. sumP - это переменная целочисленного типа, которая представляет сумму положительных чисел.
  4. fseek(fileRead, 0, SEEK_END) - это функция, которая перемещает файловый указатель в конец файла.
  5. fprintf(fileRead,\nКоличество положительных - %i Сумма положительных - %i, kolP, sumP); - это функция, которая записывает строку формата в файл, используя файловый указатель fileRead. В данной строке формата происходит подстановка значений переменных kolP и sumP в соответствующие места в строке.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы