Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2011, 12:41   #1
masterbloger
Пользователь
 
Регистрация: 09.11.2010
Сообщений: 14
По умолчанию Вывод в файл содержимого char packetbuf[0x100000]

Здравствуйте!
Помогите, пожалуйста, разобраться с одной проблемой.
В своей программе задаю переменную:
char packetbuf[0x100000];
дальше заполняю её символами, из которых состоит ТСР пакет вот такой функцией:
dump_ex((u8*)pkt_data, 0, header->len, packetbuf+strlen(packetbuf), 0, 0);
Вот её код:
Код:
u8*	dump_ex	(u8* src, u32 offset, u32 size, u8* dst, u32 first, u32 ascii)	{

// parsing quotas
#define	UPQL_DUMP_EX_OFFSET	0
#define	UPQL_DUMP_EX_HEX	8
#define	UPQL_DUMP_EX_NUM	3
#define	UPQL_DUMP_EX_SYMB	55
#define	UPQL_DUMP_EX_EOL	71
#define	UPQL_DUMP_EX_STRLEN	72
#define	UPQL_DUMP_EX_PARSEQUOTE	16
	int	i,j,k;
	int	from	= offset / 16;
	int	to	= size / 16;
	u8*	ptr	= dst;
	u8	prenumbuf[5];

	memset(dst,32,(to-from) * UPQL_DUMP_EX_STRLEN);

	for(i=from;i<to+1;i++)	{
		memcpy(ptr,tohexstr(i<<4,prenumbuf,4,0),4);
		ptr += UPQL_DUMP_EX_HEX;
		for( j = k = (i << 4); (j<size) && (j<(k+16)); j++)	{
			if(j >= offset)
			memcpy(ptr,tohexstr(src[j],prenumbuf,2,0),2);
			ptr += UPQL_DUMP_EX_NUM;	
		}
		ptr += UPQL_DUMP_EX_NUM;
		ptr[-1] = '\n';
	}
	return dst;
}
Вывожу на экран содержимое packetbuf:
printf("%s\n",packetbuf);
На экране получаю то, что надо:

Дальше пробую вывести содержимое packetbuf в текстовый файл:
fprintf( fo, "%d\n", packetbuf );
Но получаю в нём такую строку:
273162396

В чём может быть дело? Как вывести содержимое char packetbuf[0x100000] в файл?
Спасибо за помощь!

Последний раз редактировалось Stilet; 23.01.2011 в 15:34.
masterbloger вне форума Ответить с цитированием
Старый 23.01.2011, 13:02   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
Вывожу на экран содержимое packetbuf:
printf("%s\n",packetbuf);
Код:
Дальше пробую вывести содержимое packetbuf в текстовый файл:
fprintf( fo, "%d\n", packetbuf );
сами догадаетесь(ошибка в спецификаторах типа для printf)?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 23.01.2011 в 13:05.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.01.2011, 13:48   #3
masterbloger
Пользователь
 
Регистрация: 09.11.2010
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Код:
Вывожу на экран содержимое packetbuf:
printf("%s\n",packetbuf);
Код:
Дальше пробую вывести содержимое packetbuf в текстовый файл:
fprintf( fo, "%d\n", packetbuf );
сами догадаетесь(ошибка в спецификаторах типа для printf)?
Спасибо большое!
Я понимаю, что вопрос был очень легким, но я только начал писать на С++ и иногда нужна помощь профи.

Еще раз спасибо.
masterbloger вне форума Ответить с цитированием
Старый 23.01.2011, 13:58   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ошиблись, бывает.

правда чтоб найти ошибку много ума не надо, лишь внимательность.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод содержимого папки Shouldercannon Общие вопросы Delphi 14 11.01.2012 18:31
Вывод содержимого файла на экран! Nostalgy Общие вопросы C/C++ 5 16.01.2011 19:33
вывод содержимого street-walker Помощь студентам 1 04.03.2010 21:03
вывод содержимого html на форме street-walker Общие вопросы Delphi 3 04.03.2010 20:56
Вывод содержимого images.. firmwares Мультимедиа в Delphi 2 02.02.2010 01:27