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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2012, 03:08   #1
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию WriteFile

writefile c++ запись в файл тип int

как записать в файл тип инт???? в тхт файле должно быть написано число 5 при его открытии.
Код:
void Cfile1Dlg::OnBnClickedButton1()
{
	int y=5;
        .............
        .............
	
	HANDLE hF=CreateFile(_T("C:\\file\\1Cfile.txt"),
		GENERIC_READ|GENERIC_WRITE,
		0,
		NULL,
		CREATE_ALWAYS,
		0,
		NULL
		);

	DWORD pdd;
	WriteFile(hF, ..., sizeof(....), &pdd, NULL);
	

	CloseHandle(hF);
}

Последний раз редактировалось Stilet; 01.04.2012 в 13:10.
Madmaxisss вне форума Ответить с цитированием
Старый 31.03.2012, 03:18   #2
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Если файл текстовый, то число переводим в строку,
и пишем строку в файл, второй параметр - указатель на строку, третий параметр - длина стрки.
EUGY вне форума Ответить с цитированием
Старый 31.03.2012, 05:28   #3
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

Код:
void Cfile1Dlg::OnBnClickedButton1()
{
	//int y=6;

	CString y;

	y="dfgdfg";
	
	HANDLE hF=CreateFile(_T("C:\\file\\1Cfile.txt"),
		GENERIC_READ|GENERIC_WRITE,
		0,
		NULL,
		CREATE_ALWAYS,
		0,
		NULL
		);

	DWORD pdd;
	WriteFile(hF, &y, sizeof(y), &pdd, NULL);
	//ReadFile(hF,&y,sizeof(y),&pdd,NULL);

	CloseHandle(hF);
}
хех, в строке тоже кояболя (правда если это не CHAR) напишите пожалуйста как перевести из инт в чар (много примеров пробовал, но не получается).

Последний раз редактировалось Stilet; 01.04.2012 в 13:11.
Madmaxisss вне форума Ответить с цитированием
Старый 31.03.2012, 05:45   #4
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Код:
	CString y;
	y.Format("%i", 123);
	//..........

             DWORD pdd;
	WriteFile(hF, y.GetBuffer(), y.GetLength(), &pdd, NULL);
EUGY вне форума Ответить с цитированием
Старый 01.04.2012, 12:47   #5
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

ееее. записывает в файле только через раз т.е. если строка "abcd" то в файле "a c ".
через sprintf(y, "%i", t); норм.

добрался до ReadFile() ппц какой-то. при чтение файла возвращает не значение переменой а номр. ячейки или индекс. Как заставить возвратить значение перем?
Madmaxisss вне форума Ответить с цитированием
Старый 01.04.2012, 14:08   #6
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Я приводил пример для ansi. Думал Вы в курсе.
Вот более универсальный вариант
Код:
	
CString y;

HANDLE hF = CreateFile(TEXT("D:\\1Cfile.txt"), GENERIC_READ|GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);
DWORD pdd;
if (2==sizeof(TCHAR))
{ // текстовый файл с юникодным префиксом 
    short x = 0xFEFF;
    WriteFile(hF, &x, 2, &pdd, NULL);
}
y.Format(TEXT("%i"), 123);
WriteFile(hF, y.GetBuffer(), y.GetLength() * sizeof(TCHAR), &pdd, NULL);
y = TEXT("фываqwerty"); 
WriteFile(hF, y.GetBuffer(), y.GetLength() * sizeof(TCHAR), &pdd, NULL);
EUGY вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WriteFile в циклах _PROGRAMM_ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 11.02.2012 23:00
Проблемы с WriteFile Silly Student C++ Builder 0 07.12.2011 10:28
NamedPipe & WriteFile capta1n Win Api 2 02.06.2010 14:37
Альтернатива WriteFile Egor2005 Win Api 3 11.04.2007 20:11