Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 01.04.2012, 04: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 в 12:29.
Madmaxisss вне форума Ответить с цитированием
Старый 01.04.2012, 18:21   #2
microbit
Форумчанин
 
Аватар для microbit
 
Регистрация: 26.09.2011
Сообщений: 176
По умолчанию

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

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

Последний раз редактировалось Madmaxisss; 01.04.2012 в 21:20.
Madmaxisss вне форума Ответить с цитированием
Старый 01.04.2012, 21: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, 00:01   #5
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с 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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS