win32で困っています。c++を使用してwin32のファイルに動的データを書き込む必要があります。文字列をファイルに書き込む方法の基本は知っていますが、int、float などのデータをファイルに書き込む方法はありますか。
データを別の新しく作成したファイルにコピーしているファイルがあります。このファイルの先頭に、int、float などのデータを書き込む必要があります。データを追加できることはわかっています
char buff[] = "hello";
これをファイルにコピーします。さまざまな種類のデータ型でこれを行う方法がわかりません。何か助けはありますか?
char buf[] = "hello"; //Null terminate
LPVOID lpMsgBuf;
DWORD byteWritten = 0;
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
BOOL ReadFileReturn;
HANDLE hFile = CreateFile("MYFILE.blo", // open MYFILE.blo
GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_READ, // share for reading
NULL, // no security
OPEN_EXISTING, // existing file only
FILE_ATTRIBUTE_NORMAL, // normal file
NULL); // no attr
ReadFileReturn = ReadFile(hFile,buf,30,&byteWritten,NULL);
if(ReadFileReturn)
{
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL);
WriteFile(hStdOut,buf,sizeof buf,NULL,NULL);
}
else
{
WriteFile(hStdOut,"It Failed",sizeof "It Failed",NULL,NULL);
}