iniファイルが保存されないのですが・・・ – プログラミング – Home

iniファイルが保存されないのですが・...
 
通知
すべてクリア

[解決済] iniファイルが保存されないのですが・・・


ぺこ
 ぺこ
(@ぺこ)
ゲスト
結合: 18年前
投稿: 23
Topic starter  

2005を使っています。
iniファイルは推奨されていないとのことですが、事情によりiniファイル
を使うことになりました。
そこで、以下のようなプログラムを作ったのですが、
どうもiniファイルに保存されません。

CWinApp* pApp = AfxGetApp();
CString path;
int rev;
if( pApp->m_pszProfileName ){
 free( ( void* )pApp->m_pszProfileName );
 ::GetModuleFileName( NULL, path.GetBuffer( 512 ), 512-1 );
 path.ReleaseBuffer();
 rev = path.ReverseFind('\\');
 path.Delete( rev + 1, path.GetLength() - rev - 1 );
 path = path + test.ini;
 pApp->m_pszProfileName = _tcsdup( path );
}
pApp->WriteProfileInt(TEXT(SECTION),TEXT(TESTKEY),50);

何が原因なのかわからないのですが・・・。
(どのサイトを見ても、何も気にせず保存できるような事が書いてありますし・・)
iniファイルを作成するタイミング(今はInitInstance()でやってます)や
設定する何かがあるのでしょうか?
基本、レジストリに保存するということですが、上記作業を行うことで
iniファイルとしてディレクトリに保存されるわけですよね??


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

とりあえず、OSの種別も書いておきましょう。
(Windows Vistaの場合特殊なので)

http://www.hiramine.com/programming/windows/inifilewriteget.html
を元に書き直したらどうなりますか?
(パスの処理は専用の関数に任せるべき)


返信引用
ぺこ
 ぺこ
(@ぺこ)
ゲスト
結合: 18年前
投稿: 23
Topic starter  

Blueさん
ありがとうございます。
提示していただいたHPを読んで即解決しました。
SetRegistryKey()
↑これをコメントアウトしていませんでした。
私が探したHPにも記述しているところはありましたが、
私の発想が貧弱なため、そのままとしていました。
この関数より下でiniファイルの書込みテストをしていましたので
思うように動作していなかったようです。
SetRegistryKey()をコメントアウトすることで問題なく保存するように
なりました。
これでもちゃんと調べていたのですが、読解力がないというか・・・
恥ずかしい限りです。
それと、OSの種別、また質問することがありましたら記述します。
(今回はXPでした。)
どうもありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました