Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> массив символов проблема обработки 
V
    Опции темы
transserg
Дата 1.4.2010, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



привет всем возникла проблема... при заполнении массива символов получаю всякую ахинею...
Код
        case IDC_BUTTON1:    
            {            
                param * tmpd= new param;    
                wchar_t tmp[MAX_PATH]={0};
                wchar_t   extlist[20][5];
                int n=0;
                ZeroMemory(tmpd,sizeof(param));
                ZeroMemory(extlist,sizeof(extlist));
                tmpd->maxsize=GetDlgItemInt(hwndDlg,IDC_EDIT2,NULL,false);
                GetDlgItemText(hwndDlg,IDC_EDIT3,tmp,MAX_PATH);                                                                                        
                n=SendDlgItemMessage(hwndDlg,IDC_COMBO1,CB_GETCOUNT,NULL,NULL);
                for (int i=0;i<=n;i++)
                {
                    SendDlgItemMessage(hwndDlg,IDC_COMBO1,CB_GETLBTEXT,i,(LPARAM)tmp);
                    CopyMemory(extlist[i],tmp,sizeof(extlist[i]));
                    ZeroMemory(tmp,sizeof(tmp));
                }                
                CopyMemory(tmpd->extlist,extlist,sizeof(extlist));
                GetDlgItemText(hwndDlg,IDC_EDIT4,tmp,MAX_PATH);                
                lstrcpy(tmpd->path,tmp);                                            
                UpdateSettings(tmpd,sizeof(*tmpd),binpath);                
                delete tmpd;
            }
            return INT_PTR(TRUE);


почему получается так если я считываю каждый раз разную строку?
user posted image
PM MAIL   Вверх
smalcom
Дата 1.4.2010, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: нет
Всего: 7



Если дебагером пользуешься, тебя стул током бьёт?

зы. код п...ц просто

Это сообщение отредактировал(а) smalcom - 1.4.2010, 21:32


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
transserg
Дата 1.4.2010, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



smalcom да код не айс... но суть не в этом как избавиться от подобного глюка? в чем я ошибся тут?
PM MAIL   Вверх
borisbn
Дата 2.4.2010, 06:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



1. Размер каждой строки extlist == 5. Это правильно ?
2. Цикл идёт не до n-1, а до n. Тот же вопрос.
3. Выложи весь код в аттач (включая ресурсы) -может понятней будет


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
transserg
Дата 2.4.2010, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



вот весь код...

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Builder.rar 5,85 Kb
PM MAIL   Вверх
transserg
Дата 2.4.2010, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



размер да верный..

Это сообщение отредактировал(а) transserg - 2.4.2010, 08:42
PM MAIL   Вверх
xvr
Дата 2.4.2010, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(transserg @  2.4.2010,  08:41 Найти цитируемый пост)
размер да верный..
Размер не верный - строка из 5 символов (а *.exe это именно 5 символов) занимает в памяти 6 байтов, 1 дополнительный для завершающего нуля. У тебя этого нуля нет, так что все строки в массиве extlist склеились в одну


PM MAIL   Вверх
borisbn
Дата 2.4.2010, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Цитата(transserg @  1.4.2010,  20:43 Найти цитируемый пост)
почему получается так если я считываю каждый раз разную строку?

перефразируй вопрос. что ты делаешь, что хочешь получить, и что получаешь ?
Цитата(transserg @  1.4.2010,  20:43 Найти цитируемый пост)
for (int i=0;i<=n;i++)

замени на
Код

for ( int i = 0; i < n; i++ )



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
transserg
Дата 2.4.2010, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 8.8.2009

Репутация: нет
Всего: нет



xvr вы совершенно правы! не хватало размера под завершающий \0
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0519 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.