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

Пара глупых вопросов

11.02.2011, 20:51. Показов 1950. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите please,please,please.
Не могу понять в чем туплю, надо всего-то записать двумерный массив в файл ну и я пишу
(Уже есть массив int levelv[25][25][2])
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//..
//..
CStdioFile file((m_filename+'.Qm'),CFile::typeText | CFile::modeCreate | CFile::modeWrite);
 
for(int fg=1;fg<26;fg++)
{
for(int gg=1;gg<26;gg++)
{
 
char buff[3];
sprintf(buff,'%i 
',levelv[fg][gg][1]);
file.WriteString(buff);
 
}
}
Почему неправельно??
Да и еще хотел спросить, как в VC делаются нестандартные окна, т.е. какие - нибудь под картинку и т.д.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.02.2011, 20:51
Ответы с готовыми решениями:

Маленькая кучках глупых вопросов (отвечайте по проще, я еще ничего не знаю ;)
Вопрос номер 1. Как получить кол-во символов в строке (из эллемента EditBox)? Вопрос номер 2. Как выделить каждый символ (может в...

Пара вопросов по C++ 11
1. чем отличаются std::forward_list и std::initializer_list? 2. не получается применять constexpr в msvs 2013 pro constexpr auto n = 0;...

Пара вопросов по С++
возникло несколько вопросов, с которыми что то не могу никак разобраться 1. Как происходит выравнивание при создании структуры? ...

10
Ghost
12.02.2011, 00:09
1. Объявлен 3-х мерный массив, двумерки не вижу
2. Индекс массива вроде с 0-ля всегда начинался. Недавно с VB перешел на C/C++?
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 105
12.02.2011, 10:14  [ТС]
Ну трехмерный, не в этом суть, а в том что компелируется нормально, а потом уже ошибка, а причина - мое мтремное знание С++.

Пишет
Run-Time Check Failure #2 - Stack around the variable 'buff' was corrupted.
0
0 / 0 / 1
Регистрация: 28.11.2010
Сообщений: 39
12.02.2011, 10:17
Уж не f2c ли здесь поработал? В С с нуля массивы. И трехмерным массив нечего делать:
C++
1
2
3
4
int levelv[25][25];
for(int fg=0;fg<25;fg++)
sprintf(buff,'%i 
',levelv[fg][gg]);
Да, и %d вместо %i. И буффер побольше сделать желательно, если, конечно, изначально не известно, что -9<levelv[fg][gg]<99.
0
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 105
13.02.2011, 17:58  [ТС]
Помогите с еще одной фишкой - мне надо получить имена всех файлов в папке. Как это осуществить даже не представляю.
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
13.02.2011, 21:14
для этого используеться 3 функции:
FindFirst, FindNext, FindClose
вот примерчик из помощи Билдера

The following example uses an edit control, a button, a string grid, and seven check boxes. The check boxes correspond to the seven possible file attributes. When the button is clicked, the path specified in the edit control is searched for files matching the checked file attributes. The names and sizes of the matching files are inserted into the string grid.
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
void __fastcall TForm1::Button1Click(TObject *Sender)
 
{
  TSearchRec sr;
  int iAttributes = 0;
  StringGrid1->RowCount = 1;
  iAttributes |= faReadOnly * CheckBox1->Checked;
  iAttributes |= faHidden * CheckBox2->Checked;
  iAttributes |= faSysFile * CheckBox3->Checked;
  iAttributes |= faVolumeID * CheckBox4->Checked;
  iAttributes |= faDirectory * CheckBox5->Checked;
  iAttributes |= faArchive * CheckBox6->Checked;
  iAttributes |= faAnyFile * CheckBox7->Checked;
  StringGrid1->RowCount = 0;
  if (FindFirst(Edit1->Text, iAttributes, sr) == 0)
 
  {
    do
    {
      if ((sr.Attr & iAttributes) == sr.Attr)
      {
        StringGrid1->RowCount = StringGrid1->RowCount + 1;
        StringGrid1->Cells[1][StringGrid1->RowCount-1] = sr.Name;
        StringGrid1->Cells[2][StringGrid1->RowCount-1] = IntToStr(sr.Size);
      }
    } while (FindNext(sr) == 0);
    FindClose(sr);
  }
}
я правда не понял для какого компилятора тебе это надо,
для досовсвого или виндового.

в любом случае для консоли пойдет )))
ну .... чекбоксы, гриды всякие удалить.
0
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 105
13.02.2011, 23:19  [ТС]
А по проще нельзя, а то я не совсем понял, как это должно работать..
(вернее как заставить это заработать)
Пишу я на VS в MFC..
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
14.02.2011, 08:32
мля....
ну примерный шаблон на АПМ...так как кодишь ты на VC
общее у нас тока АПёвые функции... не обессудь

FindFirstFile.....
do
{.....} FindNextFile
FindClose

примерно тока....
исчи в этом направлении.
0
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 105
14.02.2011, 16:32  [ТС]
Плохо..
Придется искать исходники.
0
Ghost
14.02.2011, 17: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
void Process(CString stDir, CString stXMask, 
            bool bDone, bool bRecursion, bool bSilent, DWORD dwKillMode, bool bKillDir)
{
    BOOL bContinue;
 
    if (!::SetCurrentDirectory(stDir))
    {
        cerr << endl << stDir << _T(" - error! Can't change directory.") << endl;
        return;
    }
 
    while (1)
    {
        if (bRecursion || bDone)
        {   //  2 save memory - local FileFind
            CFileFind ffind;
 
            bContinue = ffind.FindFile(_T('*.*'));
            while (bContinue)
            {
                bContinue = ffind.FindNextFile();
                CString stx(ffind.GetFileName());
                if (ffind.IsDirectory())
                {
                    CString dirname = ffind.GetFileName();
                    if ((dirname != _T('.')) && (dirname != _T('..')))
                    {
                        dirname = stDir;
                        dirname += ffind.GetFileName();
                        dirname += _T('\ ');
                        if (bRecursion || bDone)
                        {
                            Process(dirname, stXMask, bDone, bRecursion, bSilent, dwKillMode, bKillDir);
                            _trmdir(dirname);
                        }
                    }
                }
            }
            ffind.Close();
            ::SetCurrentDirectory(stDir);
        }
 
        {
            CFileFind ffind2;
            bContinue = ffind2.FindFile(stXMask);
            while (bContinue)
            {
                bContinue = ffind2.FindNextFile();
                if (!ffind2.IsDirectory())
                {
                    CString name(stDir);
                    name += ffind2.GetFileName();
                    ProcessFile(name, bSilent, dwKillMode, ffind2.GetLength64());
                }
            }
            ffind2.Close();
            break;
        }
    }
    if (bKillDir)
    {
        //
    }
}
0 / 0 / 0
Регистрация: 11.06.2010
Сообщений: 105
14.02.2011, 20:45  [ТС]
Thanks!Thanks!Thanks! Проверим.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.02.2011, 20:45
Помогаю со студенческими работами здесь

Пара вопросов по итераторам
1. Почему в этом коде элементы удаляются через одного? for (std::vector &lt;int&gt;::iterator j = vector.begin(); j &lt; vector.end(); j++) ...

пара вопросов по GUI
1) итак, посмотрел Inter PRO одного банка. При наборе в IE адреса он каким-то образом переадресует запущенному Inter PRO, он в свою очередь...

вставление строк и пара вопросов
вычислить и вывести на экран в виде таблицы значение функции F на интервале от Xнач до Xконч с шагом Dx задана система: ...

Пара вопросов о рандомайзере и RadioButton
1) srand((unsigned)time(NULL)); int rand_ = rand()%10; rand_ будет равен от 0 до 9 включительно или от 0 до 10 включительно? ...

Пара вопросов про массивы
у меня есть пара вопросов,хотя один можно сказать относится к функциям..но тема у нас в курсе-массивы. Так вот: 1.void main() { const...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru