Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
krolex
9 / 9 / 1
Регистрация: 27.01.2010
Сообщений: 63
#1

почему выдает access violation? - C++

25.04.2010, 21:01. Просмотров 1324. Ответов 20
Метки нет (Все метки)

подскажите плиз изза чего доступ ограничивает, и как сделать чтоб я мог каждому элементу массива структур присваивать по строке......заранее спасибо))

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
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h> 
#include <stdlib.h>
 
struct st // Объявление структуры st
{ 
    char str[100];
} mstr[5]; // Объявление массива структур mstr
 
st *stroka;
int i;
 
int _tmain(int argc, _TCHAR* argv[])
{
    for (i=1;i<5;i++)
    {
        puts("vvedite stroku");
        new char = stroka->str;
        scanf("%s",stroka->str);
                      mstr[i]=stroka->str;
    }
 
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2010, 21:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос почему выдает access violation? (C++):

Код выдает ошибку Access violation writing location - C++
#include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;locale.h&gt; int main() { setlocale(LC_CTYPE, &quot;Russian&quot;); int i, j; char A, k,...

Почему _lwrite выдает ошибку 5 access denied? - C++
Программа открывает файл для записи, пишет в него. Все хорошо. Но через полгода та же программа открывает файл для записи...

Access violation - C++
Помогите пожалуйста. Не могу разобраться. Нашел в каком месте ругается. Но не понял на что именно.void __fastcall...

Crash (access violation) - C++
Задача: http://acm.timus.ru/problem.aspx?space=1&amp;num=1313 p.s. ссылку лучше откопипастить в браузер, т.к. форум на выходе её портит ...

Ошибка Access Violation - C++
Собственно, проблемма: Есть класс, в котором есть переменные (3 шт): class wField { protected: int Vert; int Gor; char*...

access violation at address - C++
Дорогие форумчане, столкнулся с проблемой, читаю бинарный файл по структуре : struct HEAD { int a1; int a2; }; struct...

20
Vourhey
Почетный модератор
6490 / 2264 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
25.04.2010, 22:17 #16
Цитата Сообщение от krolex Посмотреть сообщение
new char = str; //выделяю память под строку,но она не выделяется
Правильно. Не выделяется потому что ты неправильно написал код выделения памяти. Исправь.
Цитата Сообщение от krolex Посмотреть сообщение
scanf("%s",str); //считываю строку
mstr[i]=str; //присваиваю одному из элементов массива эту строку....
Присваивать ничего не нужно. У тебя вообще строка лишняя. У тебя массив из пяти указателей на строки. Так на кой тебе понадобилась еще одна str? Непонятно.
1
krolex
9 / 9 / 1
Регистрация: 27.01.2010
Сообщений: 63
25.04.2010, 22:30  [ТС] #17
то что посоветовал pointsequal пашет,но всеравно если я выделялбы память new char= str[100];
то он выдает ошибку......пасиб всеравно....это было самое легкое.....само задание ещё длинное.....))))


Тема 24. Текстовая обработка.
Дана последовательность строк. Каждая строка состоит из слов, разделенных пробелами. Написать программу, обеспечивающую ввод строк и их корректировку. Корректировка заклю-чается в обмене местами слов максимальной и минимальной длины в каждой строке. Если сре-ди слов строки есть несколько таких слов, то в обмене участвуют только первые обнаруженные слова. Вывести на печать исходную и скорректированную последовательности строк.


пасибо вам огромное))))ща буду дальше делать и думать по поводу другого вопроса,я уже создал тему "освобождение памяти от элементов списка"
с освобождением памяти особые проблемы))))
0
PointsEqual
ниначмуроФ
838 / 522 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
25.04.2010, 22:36 #18
krolex,

выделение памяти под строку
C++
1
2
char *p;
   p=new char[100];
1
krolex
9 / 9 / 1
Регистрация: 27.01.2010
Сообщений: 63
25.04.2010, 22:40  [ТС] #19
ооооо......дошло))))теперь понятно почему он говорил ошибку и не хотел преобразовывать char в *char....
0
Vourhey
Почетный модератор
6490 / 2264 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
25.04.2010, 22:41 #20
Цитата Сообщение от krolex Посмотреть сообщение
я выделялбы память new char= str[100];
Может, тебе лучше хотя бы один пример посмотреть, как выделять память через new? А то, имхо, ты не вкуриваешь совсем... У тебя new слева от знака равенства.
Цитата Сообщение от krolex Посмотреть сообщение
уже создал тему "освобождение памяти от элементов списка"
Ты лучше бы книжку почитал ) память из под new освобождается delete'ом. Лучше бы часа два помучался.
1
krolex
9 / 9 / 1
Регистрация: 27.01.2010
Сообщений: 63
25.04.2010, 22:47  [ТС] #21
Цитата Сообщение от Vourhey Посмотреть сообщение
Может, тебе лучше хотя бы один пример посмотреть, как выделять память через new? А то, имхо, ты не вкуриваешь совсем... У тебя new слева от знака равенства.

Ты лучше бы книжку почитал ) память из под new освобождается delete'ом. Лучше бы часа два помучался.
я знаю про delete,я его и использую только неправильно видимо,т.к. еслиб было правильно то не вылезал мега обвал системных кодов)))),открой если не трудно тему,посмотри нижнюю часть кода,изза чего такая фигня не знаю.....
0
25.04.2010, 22:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2010, 22:47
Привет! Вот еще темы с ответами:

Access violation at address in module - C++
здравствуйте ребят. Такой вопрос. В самом начале проганья Пытаюсь заполнить динамический массив нулями. Выдаёт ошибку &quot;access violation...

access violation reading location - C++
access violation reading location такая проблема если вести информацию про двух и больше студентов помогите пожалуйста очень срочно надо ...

Access violation writing location - C++
#include &lt;iostream&gt; using namespace std; template &lt; typename t &gt; void QuickSort( t array, int left,int right) { int i = left; ...

Access violation writing location - C++
Вылетает эта ошибка. В чём может быть проблема? Программа выполняется выводит результат, а после вылетает исключение. #include...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru