わびさびサンプルソース

WindowsやHTML5などのプログラムのサンプルコードやフリーソフトを提供します。

ファイルへの書き込み

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




わびさびサンプルソース

WindowsやHTML5などのプログラムのサンプルコードやフリーソフトを提供します。