CreateFile関数とWriteFile関数を利用してファイルへの書き込みを行います。
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <string>
#include <locale.h>
#include <windows.h>
/*
メイン
*/
int _tmain
(
int argc
, _TCHAR* argv[]
)
{
/*
ロケールを日本に設定
これを設定するだけで、標準出力に日本語が表示される
ようになります。
*/
setlocale( LC_ALL, "Japanese" );
/*
ファイルのオープン
*/
HANDLE hFile = ::CreateFile(
L"c:¥¥test¥¥test_file_01.txt"
, GENERIC_WRITE
, 0
, NULL
, CREATE_ALWAYS
, FILE_ATTRIBUTE_NORMAL
, NULL
);
if ( INVALID_HANDLE_VALUE == hFile ) {
std::wcout << L"ファイルオープン失敗( " << ::GetLastError() << L" )" << std::endl;
}
else {
std::wcout << L"ファイルオープン成功" << std::endl;
// 書き込んだバイト数を格納する領域
DWORD dwNumberOfWritten = 0;
// 書き込み内容
std::string strTest = "この内容を書き込みます。";
std::cout << "書き込み内容 = " << strTest.c_str() << std::endl;
// ファイルの書き込み
if ( 0 == ::WriteFile( hFile, strTest.c_str(), strTest.size(), &dwNumberOfWritten, NULL ) ) {
// ファイル読み込み失敗
std::wcout << L"ファイル読み込み失敗( " << ::GetLastError() << L" )" << std::endl;
goto err;
}
std::wcout << L"書き込んだバイト数 = " << dwNumberOfWritten << std::endl;
err:
// ファイルクローズ
::CloseHandle( hFile );
}
// 正常終了
return( 0 );
}
ファイルオープン成功 書き込み内容 = この内容を書き込みます。 書き込んだバイト数 = 24