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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> strtok или пить надо меньше... 
:(
    Опции темы
Baa
Дата 1.12.2002, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



Записки из бортового журнала...
4 утра... алкоголь кончился... сел писать программу %)
и вот такая загвоздка вышла со strtok...
Мой код(не работает как надо):
Код

char* lpSerial = new char [SendDlgItemMessage (IDC_EDIT1, WM_GETTEXTLENGTH)+1];
memset (lpSerial, 0, sizeof (lpSerial));
GetDlgItemText (IDC_EDIT1, lpSerial, sizeof (lpSerial));
       //bla1-bla2-bla3 в IDC_EDIT1...
char* p = strtok (lpSerial, "-");
for (int i = 0; i < 3/*iNum*/; i++)
{
AfxMessageBox (p);
p = strtok (NULL ,"-");
}
delete [] lpSerial;


А терь другой мой код (работает как надо):
Код

char szSerial [0xFF];
GetDlgItemText (IDC_EDIT1, szSerial, sizeof (szSerial));//bla1-bla2-bla3
char* p = strtok (szSerial, "-");
for (int i = 0; i < 3/*iNum*/; i++)
{
AfxMessageBox (p);
p = strtok (NULL ,"-");
}


Вопросы: 1. как заставить первый код работать как второй?
2. Стоит ли писать программы в нетрезвом виде в 4 утра?




--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Fantasist
Дата 2.12.2002, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


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

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



Цитата
char* lpSerial = new char [SendDlgItemMessage (IDC_EDIT1, WM_GETTEXTLENGTH)+1];
memset (lpSerial, 0, sizeof (lpSerial));
GetDlgItemText (IDC_EDIT1, lpSerial, sizeof (lpSerial));


А то что sizeof (lpSerial)==4 - это ничего? По-моему, чего...     :)


--------------------
Волны гасят ветер...
PM MAIL   Вверх
Baa
Дата 4.12.2002, 18:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо тебе, ты единственный, кто может направить мой маразм в нужное русло ;-)
Бред исправил...действительно, не стоит писать программы в 4 утра в нетрезвом виде ;-) в это время спать надо :) это я усвоил окончательно :)

Если кому интересно, то фиксистся это так:
Код

unsigned uStrLen = SendDlgItemMessage (IDC_EDIT1, WM_GETTEXTLENGTH)+1;
char* lpSerial = new char [uStrLen];
memset (lpSerial, 0, uStrLen);
GetDlgItemText (IDC_EDIT1, lpSerial, uStrLen);
    //bla1-bla2-bla3 &#226; IDC_EDIT1...
char* p = strtok (lpSerial, "-");
for (int i = 0; i < 3iNum; i++)
{
AfxMessageBox (p);
p = strtok (NULL ,"-");
}
delete [] lpSerial;

  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
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.1416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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