![]() |
|
Модераторы: bsa |
![]()
|
|
| GoldFinch |
|
||||||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
есть файловый поток
при попытке вывести туда char* выводится адрес строки а не строка
помогло
но хотелось бы как попроще |
||||||
|
|||||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 5 Всего: 32 |
не поможет? честно говоря, ты такой маленький кусок привёл, что ничего не понятно, что ты делаешь. -------------------- ![]() |
|||
|
||||
| ller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.8.2008 Где: г. Таганрог Репутация: 2 Всего: 4 |
Можно еще так, только cout заменить на нужный поток. |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
Cheloveck, какая разница что делает весь код %)
|
|||
|
||||
| andrew_121 |
|
||||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
ller, Да, и double на char
Добавлено через 1 минуту и 53 секунды
Это что за изврат Добавлено через 2 минуты и 47 секунд
-------------------- Удалил аккаунт. Прощайте! |
||||
|
|||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
andrew_121, там не cout, и reinterpret_cast<const char*>(*arg) не помогает
|
|||
|
||||
| Cheloveck |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 5 Всего: 32 |
Я так пологаю, у тебя что-то вроде printf, тогда проще использовать неопределённые параметры, проблем не возникнет. Добавлено через 1 минуту и 1 секунду
так везде делают -------------------- ![]() |
||||
|
|||||
| andrew_121 |
|
||||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
Производный от std::fstream ? Как не помогает? В твоем коде ты приводишь к типу const char*, и его передаешь в std::string. После чего, в цикле, разименовываешь итератор, и выводишь по одному символу. Что не так? Добавлено @ 00:23
И правда. Велосипед. Почему бы стандартную функцию не использовать? Или что-то вроди:
Это сообщение отредактировал(а) andrew_121 - 16.6.2009, 00:26 -------------------- Удалил аккаунт. Прощайте! |
||||
|
|||||
| ller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.8.2008 Где: г. Таганрог Репутация: 2 Всего: 4 |
А почему не использовать тогда fprintf()?
|
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
Об этом нужно GoldFinch спросить.
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| ller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.8.2008 Где: г. Таганрог Репутация: 2 Всего: 4 |
Тогда не надо и огород городить такой сложный, вернее велосипед
|
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
GoldFinch, хранить указатели на данные в переменной типа int - очень, очень плохо. Если он туда помещается, это не значит что так можно делать.
Если пишешь под windows, то используй UINT_PTR, иначе твой код будет не переносим, даже в рамках windows оператор << класса ofstream, выводит const char* как строку, не как указатель в общем, я понятия не имею, что ты сделал, что-бы получить такое поведение от ostream, попробуй упростить код, к примеру заведи переменную const char* p и присвой ей нужное значение, а потом выводи ее в поток, по крайней мере сможешь посмотреть отладчиком ее значение кстати, строку типа std::string, можно вывести в поток целиком, ее не нужно передавать туда посимвольно, впрочем так-же как и обычную строку... |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
Lazin, этот код взаимодействует с существующим 32-разрядным бинарником, поэтому все там нормально с размерами указателей.
задача такая - перехватывается функция void SendPacket(int a1,char* format, ...) пример значений ее параметров - char c1; int d1; SendPacket(xxx,"cdS", c1, d1, L"qwerty" ); format - комбинация символов chdQsSfb соответствующих типам параметров в 32разрядном коде, в винде, переменный список параметров - это массив 4-байтовых значений или указателей, соответственно функция перехвата состоит из обертки передающей формат и указатель на переменный список параметров в функцию выполняющую полезные действия.
Добавлено через 6 минут и 24 секунды нашел почему строка не выводилась в поток - не был подключен <string> %) |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |