![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Paladin |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 12.3.2004 Репутация: нет Всего: нет |
Сначала обьявляю функцию для складывания двух строк:
Потом применяю эту функцию таким образом:
Чтобы с двух сторон взять название в квадратные скобки. Но непонятно почему в итоге выходит совсем не то, что ожидалось - выдает чепуху. Как сделать такую функцию, чтобы не писать wsprintf'ами на несколько строк, и чтобы она работала нормально. |
||||
|
|||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Так делать низзя
Ты размещаешь буфер для результатирующей строки на стеке функции и возвращаешь на него указатель. А при выходе из функции стек очищается и твой указатель в результате указывает на мусор. Здесь надо выделять память динамически. Во вторых, а зачем эта функция нужна, если есть strcat? И в третьих, может быть удобнее пользоваться классом std::string для подобных вещей? -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| Paladin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 12.3.2004 Репутация: нет Всего: нет |
Дело в том, что я никак не могу найти в VC6 MSDN каких-либо классов стринг. да и с досовскими классами работать в Винде как-то несовместимо.
Ну а про стек и указатели - это мне кое что разяснило. За это thx. |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Да нет такого понятия, как досовские, недосовские строки. Есть стандартная библиотека шаблонов STL, а в ней замечательный класс std::string, использовать который ты сможешь, подключив заголовок #include <string>. В MSDN ищи basic_string class.
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| NiTro |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 23.3.2004 Репутация: нет Всего: нет |
std::string(std::basic_string<char>) - и всё нормального!!!!
|
|||
|
||||
| MaxB |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 10.2.2004 Где: Украина, Одесса Репутация: нет Всего: 1 |
См. в MSDN класс СString
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |