Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 19.09.2019
Сообщений: 47

почему ругается?

19.11.2019, 19:46. Показов 2070. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C
1
2
3
4
5
6
7
FILE* f;
        f= fopen_s(&f,"C:\Users\user\source\repos\Project57\Debug\time.txt", "r");
        
        for (int i=0;i<kp;i++)
          fscanf_s(&f, "%d", &arr[0]);
        for (int i = 0; i < kp; i++)
          printf("%d ", arr[i]);
на строчке fscanf_s пишет: Вызвано исключение по адресу 0x5954A706 (ucrtbased.dll) в Project57.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x562D27B4.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.11.2019, 19:46
Ответы с готовыми решениями:

Почему ругается gcc при использовании inline + setjmp() ?
Добрый день. Решил написать простой карусельный переключатель задач для микроконтроллера. Для переключения контекста задач хочу...

Почему компилятор ругается на то, что else относится к if?
Kомпилятор ругается на то,что else относится к if 'else' without a previous 'if' Вот собственно код: #include &lt;stdio.h&gt; ...

Почему visual studio ругается на этот код?
#include &lt;stdio.h&gt; int main(void) { float weight; /* вес пользователя */ float value; /* родиевый эквивалент пользователя */ ...

8
фрилансер
 Аватар для Алексей1153
6451 / 5652 / 1129
Регистрация: 11.10.2019
Сообщений: 15,053
19.11.2019, 20:33
ilovehash, потому что нужно всегда проверять, удалось ли открыть файл.
А это вряд ли удалось, потому что символы не экранированы

Добавлено через 1 минуту
варианты исправления:
"C:\\Users\\user\\source\\repos\\Project 57\\Debug\\time.txt"
"C:/Users/user/source/repos/Project57/Debug/time.txt"
0
0 / 0 / 0
Регистрация: 19.09.2019
Сообщений: 47
19.11.2019, 20:33  [ТС]
проверял, файл открывается
0
фрилансер
 Аватар для Алексей1153
6451 / 5652 / 1129
Регистрация: 11.10.2019
Сообщений: 15,053
19.11.2019, 20:37
ilovehash, если файл каким-то чудом открывается, то тогда вопрос к arr - сколько памяти выделено, хватает ли ?

Добавлено через 2 минуты
и ещё - вроде взятие адреса тут лишнее

scanf_s(&f,
0
0 / 0 / 0
Регистрация: 19.09.2019
Сообщений: 47
19.11.2019, 20:40  [ТС]
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
int main() {
  setlocale(LC_ALL, "Russian");
  int i = 0, a = 50, tmp = 0, tmp1 = 0;
  int arr[MAX], p[256]; 
  
 
  
 
 
  int sposob, kp, s = 1; // кр - кол-во потоков (кол-во элементов)
  printf("Meню: \n");
  printf("1 - ручной ввод\n");
  printf("2 - генерация случайным образом\n");
  printf("3 - чтение из файла\n");
  printf("выберете способ ввода потоков: ");
  scanf_s("%d", &sposob);
  proverkaSPOSOB(sposob, s);
  printf("введите число потоков (не больше 10000): ");
  scanf_s("%d", &kp);
  proverkaKP(kp, s);  
  int j = kp - 1, m;
  m = (i + j) / 2;
 
  if (sposob == 1) {
    G1(kp, arr);
    output(arr, kp);
  }
  else {
    if (sposob == 2) {
      G2(arr, kp);
      output(arr, kp);
    }
    else {
      if (sposob == 3) {
        FILE* f;
        f= fopen_s(&f,"C:\Users\user\source\repos\Project57\Debug\time.txt", "r");
        if (f != NULL) {
          printf("file open");
        }
        else {
          printf("error");
          return 1;
        }
        for (int i=0;i<kp;i++)
          fscanf_s(f, "%d", &arr[i]);
        for (int i = 0; i < kp; i++)
          printf("%d ", arr[i]);
      }
    }
  }
МАХ = 100

Вот, что пишет компилятор:

Meню:
1 - ручной ввод
2 - генерация случайным образом
3 - чтение из файла
выберете способ ввода потоков: 3
введите число потоков (не больше 10000): 10
file open

И далее исключение и не компилируется дальше
0
фрилансер
 Аватар для Алексей1153
6451 / 5652 / 1129
Регистрация: 11.10.2019
Сообщений: 15,053
19.11.2019, 20:52
ilovehash, читай описание функции и исправляй строку 36 и 37
https://docs.microsoft.com/ru-... ew=vs-2019

ну и путь всё же экранируй
0
0 / 0 / 0
Регистрация: 19.09.2019
Сообщений: 47
19.11.2019, 21:05  [ТС]
переписал вот так, та же самая ошибка на fscanf_s, только теперь еще и файл не открывается
C
1
2
3
4
5
6
7
8
9
10
11
12
13
 FILE* f;
        errno_t err;
        err = fopen_s(&f,"C:\Users\user\source\repos\Project57\Debug\time.txt", "r");
        if (err == 0) {
          printf("file open");
        }
        else {
          printf("error");
        }
        for (int i=0;i<kp;i++)
          fscanf_s(err, "%d", &arr[i]);
        for (int i = 0; i < kp; i++)
          printf("%d ", arr[i]);
0
фрилансер
 Аватар для Алексей1153
6451 / 5652 / 1129
Регистрация: 11.10.2019
Сообщений: 15,053
19.11.2019, 21:22
Лучший ответ Сообщение было отмечено ilovehash как решение

Решение

ilovehash,
почему в fscanf_s передаёшь err ? Передавай f !

ну и не игнорируй
Цитата Сообщение от Алексей1153 Посмотреть сообщение
путь всё же экранируй
Добавлено через 2 минуты
примерное так (я не запускал)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
      FILE* f;
        errno_t err= fopen_s(&f,"C:\\Users\\user\\source\\repos\\Project57\\Debug\\time.txt", "r");
        if (err == 0) {
          printf("file open");
 
           for (int i=0;i<kp;i++)
             fscanf_s(f, "%d", &arr[i]);
 
           for (int i = 0; i < kp; i++)
             printf("%d ", arr[i]);
        }
        else {
          printf("error");
        }
1
0 / 0 / 0
Регистрация: 19.09.2019
Сообщений: 47
19.11.2019, 21:26  [ТС]
огромное спасибо! все понял, все заработало!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.11.2019, 21:26
Помогаю со студенческими работами здесь

Почему vk ругается на бесплатные хостинги? На какие не ругается?
Здравствуйте, Что нужно сделать, чтобы vk не ругался на бесплатный хостинг? Я нашёл отличный хостинг 5gbfree.com. Я на нём храню свои...

Почему ругается на else?
Народ, подскажите пожалуйста, почему компилятор ругается на функцию &quot;else&quot;? #include &lt;cstdio&gt; #include &lt;cstdlib&gt; #include...

Почему WindowState не ругается на 0
Доброго времени суток,сразу к делу Если WindowState = 0 то это Hormal Если 2 =Maximised тогда почему если я пишу так WindowState...

Почему cmd ругается на %?
Rem You have to pass path triples: action arg0 arg1. Rem Action could be one of the following values: copy, move, delete. Rem Example:...

Почему линкер ругается ?
Такая ошибка у GCC компилятора + линкера Сами структуры объявлены в UI2.с Но их никак нету в mf_font.с mf_font.h


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru