Форум программистов, компьютерный форум CyberForum.ru

Ошибка сегментирования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Некорректный ввод/вывод в консоли http://www.cyberforum.ru/cpp-beginners/thread524256.html
Код: puts("Введите данные для поиска:"); printf("Телефон : "); gets(foundRec.phone); printf("Фамилия : "); gets(foundRec.lastname); printf("Имя : "); gets(foundRec.name);
C++ Написать функцию, которая выводит строку символов на середину экрана не по горизонтали, а по вертикали Написать функцию, которая выводит строку символов на середину экрана не по горизонтали, а по вертикали. Строку ввести с клавиатуры. http://www.cyberforum.ru/cpp-beginners/thread524215.html
Посоветуйте, пожалуйста, каким образом будет лучше реализовать мою задачу? (MFC, Win API, Windows Forms)) C++
Предупрежу, что я профан во всём сразу - MFC, Win API, Windows Forms (я даже не уверена, что правильно их написала...), но задачу нужно выполнить любой ценой :) Хотелось бы просто узнать, как логичнее будет реализовать программу. Есть окно, в нём график и кнопка. По нажатию кнопки на графике появляется одна новая точка (координаты точки генерируются рандомно). Собственно, сабж. Пыталась юзать...
Прокомментируйте программу на массивы C++
#include <iostream> #include <fstream> #include <string> using namespace std; int main() { int n; cout << "n = "; cin >> n; int **a = new int*;
C++ ReadProcessMemory, memcmp и Вин7 64 http://www.cyberforum.ru/cpp-beginners/thread524190.html
Доброго времени суток. Написал код поиска массива байт в стороннем процессе, который отлично отрабатывает в вин32, но на вин 64 ничего не находит. ReadProcessMemory(phandle, (LPCVOID)MyAddress, &bProb, SIZE, 0); int outcome = memcmp(Prob, bProb, SIZE); В чем может быть причина? Добавлено через 41 минуту Вопрос снят... У человека с вин 64 были глюки при компиляции... Сорри...
C++ В чем заключаеться работа Вопрос касается С++ программистов.В чем заключается ваша работа,востребованы ли в СНГ С++ программисты?Перспективно ли изучать С++! подробнее

Показать сообщение отдельно
LOKOFAN
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 8
22.03.2012, 00:24  [ТС]     Ошибка сегментирования
этот файл записывается такой же программой. Вот код:
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
72
73
74
75
76
77
78
79
80
81
82
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
 
using namespace std;
 
struct samolet
{
       char tip[10];//тип самолета
       char konstructor[20];//фамилия конструктора
       int god;//год выпуска
       int kresla;//количество кресел
       float gruz;//грузоподъемность в тоннах
};
 
int main (int argc, char **argv)
{
    FILE *fp;
    struct samolet A[20];
    int i=1, j=0, numstr;
    char c;
    if(strcmp(*(argv+1), "-c")==0)
    {                 
        fp=fopen(*(argv+2), "wb");
        if(fp==NULL)
        {
            cout<<"Oshibka pri sozdanii vykhodnogo fayla! Nazhmite lybuyu klavishu dlya vykhoda!";
            getchar();
            exit(-1);
        }
        while(i!=0)//ввод данных с клавиатуры
        {
            cout<<"\nVy vvodite stroku nomer "<<j+1<<":\n\n";
            cout<<"Vvedite naimenovanie tipa samoleta: ";
            cin>>A[j].tip;
            cout<<"Vvedite familiyu konstructora: ";
            cin>>A[j].konstructor;
            cout<<"Vvedite god vypuska: ";
            cin>>A[j].god;
            cout<<"Vvedite kolichestvo kresel: ";
            cin>>A[j].kresla;
            cout<<"Vvedite gruzopodyemnost v tonnakh: ";
            cin>>A[j].gruz;
            cout<<"\nKhotite prodolzhit rabotu? Y/N: ";//запрос на продолжение работы
            cin>>c;
            if((c=='Y')||(c=='y'))
            {
                i=1;
            }
            else
            {
                if((c=='N')||(c=='n'))
                {
                    i=0;
                }
                else
                {
                    cout<<"Vveden nekorrektnyy simvol! Nazhmite lybuyu klavishu dlya vykhoda!";
                    getchar();
                    exit(-1);
                }
            }
            j++;
            if(j==20)
            {
                cout<<"\nVy vvely maksimalnoe kolichestvo zapisey v fayl!\n";
                break;
            }
            system("clear");
        }
        cout<<"Dannye vvedeny. Zapis fayla rezultata...";
        fwrite(A, sizeof(A), 10, fp);
        cout<<"\nFayl uspeshno zapisan";                     
    }
    cout<<"\n\nProgramma zavershila rabotu. Nazmite lyubuyu klavishu dlya vykhoda\n\n";
    fclose(fp);
    getchar();
    return 0;
}
вроде как при вводе с клавиатуры члены структуры tip и konstructor заполняются правильно. Да и проблема возникает не при выводе на экран, а сразу после него
на форуме прочитал, что такую проблему можно устранить если выделить память оператором new. Но тогда возникает вопрос, как его применить для статического массива?
 
Текущее время: 08:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru