[PR]

キーが ini ファイルに存在するかどうか確かめる

戻る

 特定のキーが ini ファイル中に存在しているかどうかを確かめる関数を作る。

//*********************************************************
// キーが ini ファイルに存在するかどうかを確かめる。
//*********************************************************
BOOL
IsExistPrivateProfileKey
	(
		const char *section, // セクションの名前
		const char *key,     // キーの名前
		const char *path     // 設定ファイルへのパス
	)
{
	// 指定したキーが見つからない場合、
	// 関数 GetPrivateProfileInt() は1回目の呼び出しで 0 を
	// 2回目の呼び出しで 1 を返す。
	return GetPrivateProfileInt( section, key, 0, path )
	    == GetPrivateProfileInt( section, key, 1, path );
}//IsExistPrivateProfileKey

使用例

// 関数 IsExistPrivateProfileKey() の動作確認
int main( void )
{
#define test_IsExistPrivateProfileKey(Section,Key,File) \
	printf( "%s の %s に %s %s\n",\
	File,\
	Section,\
	Key,\
		(\
			IsExistPrivateProfileKey(Section,Key,File)\
			?\
			"が見つかりました。"\
			:\
			"は見つかりませんでした。"\
		)\
	);

	char *keys[] = { "眼鏡っ娘", "お兄ちゃん", "一人称ボク" };

	{for( int i = 0; i < numof( keys ); ++i )
	{
		test_IsExistPrivateProfileKey( "属性", keys[ i ], "私.ini" );
	}}

	return 0;

#undef test_IsExistPrivateProfileKey
}//main

実行結果

 私.ini の 属性 に 眼鏡っ娘 は見つかりませんでした。
 私.ini の 属性 に お兄ちゃん が見つかりました。
 私.ini の 属性 に 一人称ボク が見つかりました。

関連

ini ファイルからキーやセクションを削除する


Google
ご意見・ご感想をお聞かせ下さい。匿名で送信できます。

 * 返信が必要な場合には postmaster@katsura-kotonoha.sakura.ne.jp へ直接メールしてください。

水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
IDGは全世界85カ国でIT関連雑誌を発行する出版社です。