С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 24.04.2019
Сообщений: 14
1

0x53CDE541 (ucrtbased.dll) 0xC0000005: нарушение прав доступа при чтении по адресу 0x0000002E

06.11.2019, 07:56. Показов 1861. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе утро! Задача состояла в том, чтобы поменять порядок символов в строке. Не могу склеить строки, выдаётся ошибка: идея в том, чтобы брать символ с конца строки и приклеивать к новой строке. (n-2) - чтобы не входил терминальный ноль и символ перехода на новую строку, и элемент str[i] выделяется правильно. Проблема в склейке. Будьте добры, подскажите, как исправить?

C
1
2
3
4
5
6
int n = strlen(str);
char newstr[256];
for (i = n - 2; i >= 0; i--)
{
    strcat(newstr, str[i]);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2019, 07:56
Ответы с готовыми решениями:

Необработанное исключение по адресу 0x00F71B85 в lab 12_1.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0
Всем привет, ошибка возникает при добавлении переменной minqq1, помогите понять в чем проблема, вот...

0xC0000005: нарушение прав доступа при чтении по адресу 0x00000003
Доброго времени суток!Возникла проблема при вводе в консоль массива , после ввода элементов консоль...

Вызвано исключение по адресу 0x75DD9845 (ucrtbase.dll) в LABA4.exe: 0xC0000005: нарушение прав доступа при записи по адр
Объясните пожалуйста, почему не работает программа? ( Выдает "вызвано исключение..." По идее она...

Нарушение прав доступа при чтении по адресу
#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf #include <stdio.h>...

6
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
06.11.2019, 08:53 2
Kuznechek, Вопрос задан бестолково. Столь же бестолков и кусок кода. Кто такой str? И судя по этому куску, транслироваться ничего не должно
0
0 / 0 / 0
Регистрация: 24.04.2019
Сообщений: 14
06.11.2019, 09:41  [ТС] 3
Цитата Сообщение от Байт Посмотреть сообщение
Kuznechek, Вопрос задан бестолково. Столь же бестолков и кусок кода. Кто такой str? И судя по этому куску, транслироваться ничего не должно
str — это строка символов (char str[256]).
Я использую функцию strcat, которая производит склейку двух строк. Возможно, моя ошибка заключается в том, что str[i] это не строка, а элемент строки. В данный момент свою догадку проверить не могу, нет под рукой компьютера. В любом случае, спасибо вам за критику. Вопросы и вправду нужно задавать толково.
0
фрилансер
5846 / 5377 / 1103
Регистрация: 11.10.2019
Сообщений: 14,376
06.11.2019, 09:58 4
как-нибудь так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string.h>
 
int main(void)
{
    char str[]="12345";
    int n = strlen(str);
    char* newstr=new char[n];
    
    for (size_t i = n; i--;)
    {
        newstr[n-i-1]=str[i];
    }
 
    std::cout << "str   ==" << str<< std::endl;
    std::cout << "newstr==" << newstr<< std::endl;
    delete [] newstr;
    newstr=0;
    return 0;
}
а с STL так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <string.h>
#include <algorithm>
int main(void)
{
    char str[]="12345";
    
    int n = strlen(str);
    std::cout << "str   ==" << str<< std::endl;
    
    std::reverse(str,str+n);
    std::cout << "newstr==" << str<< std::endl;
    
    return 0;
}
Добавлено через 2 минуты
или даже так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <algorithm>
#include <string>
int main(void)
{
    char str[]="12345";
    std::string s=str;
    std::reverse(s.begin(),s.end());
 
    std::cout << "str   ==" << str<< std::endl;
    std::cout << "newstr==" << s.c_str()<< std::endl;
 
    return 0;
}
0
Вездепух
Эксперт CЭксперт С++
12792 / 6669 / 1795
Регистрация: 18.10.2014
Сообщений: 16,877
06.11.2019, 10:29 5
Цитата Сообщение от Алексей1153 Посмотреть сообщение
а с STL так
В языке С уже откуда-то появилась какое-то "STL"?

Цитата Сообщение от Kuznechek Посмотреть сообщение
strcat(newstr, str[i]);
В этой строке содержится грубая ошибка, на которую вам прямо указал компилятор. Вы что, просто проигнорировали диагностическое сообщение компилятора?
1
фрилансер
5846 / 5377 / 1103
Регистрация: 11.10.2019
Сообщений: 14,376
06.11.2019, 10:36 6
TheCalligrapher, это, скажем прямо, уже проблема языка Си
0
11 / 2 / 1
Регистрация: 01.11.2018
Сообщений: 42
06.11.2019, 12:41 7
может не верно понял задание =\
и да, я не использовал free()

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
#include <stdlib.h>
#include <stdio.h>
 
int ft_strlen(char *str)
{
    int i = 0;
    while (str[i] != '\0')
        i++;
    return i;
}
 
int main()
{
    int i1 = 0;
    int i2 = 0;
    char *str = "123456";
    int i = ft_strlen(str);
    char *s;
    s = (char*)malloc(sizeof(char) * (i + 1));
    while (str[i1 + 2] != '\0')
    {
        s[i2] = str[i1 + 2];
        i1++;
        i2++;
    }
    i1 = 0;
    while (i1 != 2)
    {
        s[i2] = str[i1];
        i2++;
        i1++;
    }
    s[i2] = '\0';
    printf("%s", s);
    return 0;
}
0
06.11.2019, 12:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.11.2019, 12:41
Помогаю со студенческими работами здесь

Нарушение прав доступа при чтении по адресу
Здраствуйте, задано переписать функцию strspn(canst char *s1, const char *s2) так чтоб она искала...

Программа тасовки колоды карт: Нарушение прав доступа при чтении по адресу
Всем доброго времени суток. Помогите найти ошибку. Ни на что не ругается, просто выдает ошибку. ...

Вызвано исключение по адресу 0x501FF6E0 (ucrtbased.dll) в GlebProject.exe: 0xC0000005: нарушение прав доступа при чтении
Добрый день,подскажите пожалуйста в чем проблема. Никак не могу понять(( Не судите строго я...

Необработанное исключение по адресу 0x0FF3C6BC (ucrtbased.dll) в lab4.exe: 0xC0000005: нарушение прав доступа при запис
// Дана ведомость абитуриентов. В каждой строке записана фамилия абитуриента, // средний балл...

Необработанное исключение по адресу 0x7798E43E (ntdll.dll) в bunkers.exe: 0xC0000005: нарушение прав доступа при чтении
прога вылетает на необработанном исключении.... на этих строчках message.addPart(&amp;content);...

Вызвано исключение по адресу 0x013C1891 в Jacobi.exe: 0xC0000005: нарушение прав доступа при чтении по адресу
#include &lt;math.h&gt; const double eps = 0.001; ///&lt; желаемая точность /// N - размерность...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru