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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2012, 05:45   #1
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию ReadFile()

Люди добрые помогите с функ. ReadFile()
как заставить перем. tt вывести строку "werrwerwerwerwerwer", а не коляболя??


Код:
void CMy123Dlg::OnBnClickedButton1()
{
	char t[]="werrwerwerwerwerwer";
	DWORD pdd;
	HANDLE hF=CreateFile(_T("C:\\file\\1Cfile.txt"),
							GENERIC_READ|GENERIC_WRITE,
							0,
							NULL,
							CREATE_ALWAYS,
							0,
							NULL
						);

		WriteFile(hF, t, sizeof(t), &pdd, NULL);
		char tt[12];
		SetFilePointer(hF,sizeof(tt),NULL,FILE_BEGIN);
		ReadFile(hF, tt, sizeof(tt), &pdd, NULL);
		CString ss(tt);
		m_s=ss; // m_s тип CString выводит на экран "статик текст"
		CloseHandle(hF);
		UpdateData(false);
}

Последний раз редактировалось Stilet; 01.04.2012 в 13:29.
Madmaxisss вне форума Ответить с цитированием
Старый 01.04.2012, 19:21   #2
microbit
Форумчанин
 
Аватар для microbit
 
Регистрация: 26.09.2011
Сообщений: 176
По умолчанию

не могу понять что вы хотите добиться этим кодом?
microbit вне форума Ответить с цитированием
Старый 01.04.2012, 22:07   #3
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

все просто есть строка char t[]="werrwerwerwerwerwer";
она записывается в файл. потом она прочитывается функцией ReadFile потом прочитанная информ. заносится в перем m_s но в m_s заноссятся непонятные символы, а мне нужно чтоб заносилась строка "werrwerwerwerwerwer"

Последний раз редактировалось Madmaxisss; 01.04.2012 в 22:20.
Madmaxisss вне форума Ответить с цитированием
Старый 01.04.2012, 22:56   #4
microbit
Форумчанин
 
Аватар для microbit
 
Регистрация: 26.09.2011
Сообщений: 176
По умолчанию

не понятно зачем вы смещаете на 12 байт указатель от начала файла, и почему у вас массив приёмный меньше чем вы хотите прочитать данных.

Код:
void CMy123Dlg::OnBnClickedButton1()
{
	char t[]="werrwerwerwerwerwer";
	DWORD pdd;
	HANDLE hF=CreateFile(_T("C:\\file\\1Cfile.txt"),
							GENERIC_READ|GENERIC_WRITE,
							0,
							NULL,
							CREATE_ALWAYS,
							0,
							NULL
						);

		WriteFile(hF, t, sizeof(t), &pdd, NULL);
		char tt[100];
		SetFilePointer(hF,NULL,NULL,FILE_BEGIN);
		ReadFile(hF, tt, sizeof(t), &pdd, NULL);
		CString ss(tt);
		m_s=ss; // m_s тип CString выводит на экран "статик текст"
		CloseHandle(hF);
		UpdateData(false);
}
microbit вне форума Ответить с цитированием
Старый 02.04.2012, 01:01   #5
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

аааа воно-но чё.... второй аргумент функции указателя сдвигает его. Ну спасибо.
Madmaxisss вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с ReadFile Fog Win Api 4 01.02.2011 12:51
Использование динамического массива в функции ReadFile (WinAPI). Korrado Помощь студентам 7 29.11.2009 13:38
ReadFile nazavrik Общие вопросы C/C++ 14 22.11.2009 15:11