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

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

11.02.2011, 20:51. Показов 1937. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru