Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/88: Рейтинг темы: голосов - 88, средняя оценка - 4.84
1 / 1 / 0
Регистрация: 06.11.2016
Сообщений: 58

Ошибка исполнения "Expression: stream != nullptr"

22.02.2017, 15:23. Показов 18926. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Expression: stream != nullptr

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
# include <locale.h>
FILE *fp;
 
struct list1
{
    char elem1;
    list1 *next, *pred;
} *ph;
list1 *p, *H;
char sym;
 
struct list2
{
    char elem2;
    list2 *next;
};
 
list2 *search(list1 *ph, char sym2)
{
    list2 *t, *R;
    list1 *p = ph;
    R = new list2;
    R->next = NULL;
    t = R;
    do {
        if (p->elem1 == sym2)
        {
            t->next = new list2;
            t->next->next = new list2;
            t = t->next;
            t->elem2 = p->pred->elem1;
            t = t->next;
            t->next = NULL;
            t->elem2 = p->next->elem1;
        }
        p = p->next;
    } while (p != ph);
    return R;
};
void main()
{
    char c = 'c';
    list2 *L, *lp = NULL;
    setlocale(LC_CTYPE, "Rus");
 
    { ph = new list1;
    ph->pred = NULL;
    ph->next = NULL;
    p = ph;
    printf("Введите последовательность символов\n");
    fscanf_s(fp, "%c", &sym);
    while (sym != '.')
    {
        p->next = new list1;
        p = p->next;
        p->elem1 = sym;
        fscanf_s(fp, "%c", &sym);
    }
    p->next = NULL;
    p->pred = NULL;
    }
    printf("Введите символ \n");
    scanf_s("%c", c);
    L = search(H, c);
    for (L = lp; lp != NULL; lp = lp->next);
    fprintf(fp, "%c", lp->elem2);
    _getch();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.02.2017, 15:23
Ответы с готовыми решениями:

Ошибка Debug Asserition Failed Expression:(stream !=NULL)
Задание: Написать графф и в нем реализовать алгоритм Дейкстры и обход в ширину и высоту. (Прикрепляю код и скрин с ошибкой) помогите, кто...

Почему выводит ошибку expression _p!= nullptr?
Как оформить gets_s правильно? #define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt; #include &lt;malloc.h&gt; #include...

Ошибка expression result_pointer != nullptr
#include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; class Human { char* FIO = nullptr; char* age = nullptr; ...

31
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
26.02.2017, 14:58
Студворк — интернет-сервис помощи студентам
Антон2659, точка, так точка. Понятны мои изменения?
У вас была реализована в принципе неправильная работа со списком.
И освобождать память необходимо...
Удачи!
0
1 / 1 / 0
Регистрация: 06.11.2016
Сообщений: 58
26.02.2017, 15:01  [ТС]
Да, но все равно ошибка вылетает после ввода символа, кода должен быть результат
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
26.02.2017, 15:11
Антон2659, Оставитесь под отладчиком после ввода символа, чему равно sym?

Добавлено через 5 минут
Давай оперативненько, у меня еще куча дел
0
1 / 1 / 0
Регистрация: 06.11.2016
Сообщений: 58
26.02.2017, 15:19  [ТС]
не понялю что нужно сделать?
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
26.02.2017, 15:23
Знакомо такое понятие, как отладчик?
Ладно, давай по-другому: выведи на экран после ввода символа sym. Например так:
printf("%c, 0x%.2X\n", sym, sym); //как код и как hex-код
И скажи, что будет.
0
1 / 1 / 0
Регистрация: 06.11.2016
Сообщений: 58
28.02.2017, 16:26  [ТС]
Ошибки исправлены, прога работает, но что такое Н при выводе, и печатает Н если сосед оказался в начале/конце списка.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
# include <locale.h>
struct list1
{
    char elem1;
    list1 *next, *pred;
} *ph;
list1 *p, *H;
char sym;
char c = 'c';
 
struct list2
{
    char elem2;
    list2 *next;
};
 
list2 *search(list1 *ph, char sym2)
{
    list2 *t, *R;
    list1 *p = ph;
    R = new list2;
    R->next = NULL;
    t = R;
    do {
        if (p->elem1 == sym2)
        {
            t->next = new list2;
            t->next->next = new list2;
            t = t->next;
            t->elem2 = p->pred->elem1;
            t = t->next;
            t->next = NULL;
            t->elem2 = p->next->elem1;
        }
        p = p->next;
    } while (p != ph);
    return R;
};
void main()
{
    list2 *L, *lp = NULL;
    setlocale(LC_CTYPE, "Rus");
 
    { ph = new list1;
    ph->pred =ph ;
    ph->next = ph;
    p = ph;
    printf("Введите последовательность символов\n");
    scanf_s("%c", &sym);
    while (sym != '.')
    {
        p->next = new list1;
        p->next->pred = p;
        p = p->next;
        p->elem1 = sym;
        scanf_s("%c", &sym);
    }
    p->next = ph;
    ph->pred = p;
    }
    printf("Введите символ \n");
    scanf_s(" %c", &c);
    L = search(ph, c);
    for (lp=L; lp != NULL; lp = lp->next)
    printf(" %c", lp->elem2);
    _getch();
}
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
28.02.2017, 16:43
Антон2659, посмотри, как я сделал поиск для начала и конца списка.
1
1 / 1 / 0
Регистрация: 06.11.2016
Сообщений: 58
28.02.2017, 17:25  [ТС]
Можешь выделить это, чтобы я не искал?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13212 / 6845 / 1825
Регистрация: 18.10.2014
Сообщений: 17,327
28.02.2017, 19:06
Цитата Сообщение от _liv_ Посмотреть сообщение
C
1
scanf("%c%c", &sym, &sym); //2 раза, т.к. в буфере остается код 0x0a
??? И в каком же, интересно, порядке в это sum запишется читаемый символ и этот самый "код 0x0a"???

Цитата Сообщение от Антон2659 Посмотреть сообщение
C
1
2
3
scanf_s("%c", &c);
...
scanf_s("%c", &sym);
Почему в коде используются функции с суффиксом _s вместо "обычных"? И если вы уж решили использовать функции с суффиксом _s, то почему вы их используете неправильно? Что именно вы не поняли в документации scanf_s про аргументы для формата %c?
0
1 / 1 / 0
Регистрация: 06.11.2016
Сообщений: 58
28.02.2017, 19:07  [ТС]
Компилятор заставляет, без этого не хочет
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13212 / 6845 / 1825
Регистрация: 18.10.2014
Сообщений: 17,327
28.02.2017, 20:13
Цитата Сообщение от Антон2659 Посмотреть сообщение
Компилятор заставляет, без этого не хочет
Заставляет что именно? Заставляет не читать документацию функций с суффиксом _s?
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
01.03.2017, 10:47
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
И в каком же, интересно, порядке в это sum запишется читаемый символ и этот самый "код 0x0a"???
Да в таком и запишется... Сначала оставшийся в потоке 0x0a, потом вновь введенный символ, который там и останется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2017, 10:47

Ошибка expression result_pointer != nullptr
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; #include &lt;windows.h&gt; using namespace std; ...

Ошибка: Expression: buffer != nullptr
VS ломается при вызове функции (после ввода printf(&quot;\nEnter Autor:\n&quot;);) void main() { BOOK** ArrBook = new BOOK* ; for (size_t i =...

Ошибка Debug Asertion Failed, line 52, Expression: (stream! = null)
Не могу понять причину ошибки и найти её. Debug Asertion Failed, line 52, Expression: (stream! = NULL) main.c #include...

Expression: _p !=nullptr
Час поздний, где-то намудрил, не могу понять в чём именно дело. Выдает ошибку, что выше указана: Expression: _p !=nullptr Помог бы кто, а...

Expression: buffer != nullptr
Описать структуру с именем NOTE, содержащую следующие поля: Фамилия, имя. Номер телефона. Дата рождения.(массив из 3 чисел) ...


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru