iniファイルを読み込むAPIの関数について


dio  2007-05-08 12:04:27  No: 65031  IP: 192.*.*.*

iniファイルを読み込むAPIの関数について知っている方
いらっしゃいますか?

編集 削除
Blue  2007-05-08 12:13:02  No: 65032  IP: 192.*.*.*

掲示板で聞くよりも、Googleとか検索したほうが早いですよ。

数値用
GetProfileInt
文字列用
GetProfileString
構造体用
GetPrivateProfileStruct

それぞれの使い方は、関数名をキーして今度こそWeb検索してください。
(過去ログにもあるでしょう。)

編集 削除
Blue  2007-05-08 12:15:21  No: 65033  IP: 192.*.*.*

あー間違えました。

>数値用
>GetProfileInt
GetPrivateProfileInt

>文字列用
>GetProfileString
GetPrivateProfileString


GetProfileInt,GetProfileStringはMFCのCWinAppのメソッドでした。
MFCならこれを使うのもあり。
ちなみに.NET FrameworkはINIファイルをよむライブラリはないので、
上記APIを使います。

編集 削除
dio  2007-05-08 14:06:00  No: 65034  IP: 192.*.*.*

回答ありがとうございます

もうひとつ質問させてください。

2つのiniファイルを比較して、
そのファイルのデータが反映
された新規ファイルを作成したいのですが、
どうすればよろしいでしょうか?

編集 削除
dio  2007-05-08 14:31:51  No: 65035  IP: 192.*.*.*

回答ありがとうございます

もうひとつ質問させてください。

2つのiniファイルを比較して、
そのファイルのデータが反映
された新規ファイルを作成したいのですが、
どうすればよろしいでしょうか?

編集 削除
Blue  2007-05-08 14:36:05  No: 65036  IP: 192.*.*.*

>新規ファイルを作成したいのですが、
とは?
INIファイル?テキストファイル?それ以外?

INIファイルの場合、新規ということは上書きではなく
新しく作るということなんですよね?

データを反映とは?
どちらかをベースにして書き換えるわけではないのでしょうか?
(ベースがあるのであれば、ファイルをコピーしリネームして、
INIファイル用書き込みAPI(→は検索して調べましょう)で書き込むだけ)

編集 削除
dio  2007-05-10 05:44:11  No: 65037  IP: 192.*.*.*

dioです。回答ありがとうございます。

分かりにくい内容で申し訳ありません。

質問の補足ですが、

「クラスのフローチャート」というタイトルの質問を新たにさせて

いただきました。

そこに詳細が書かれております。

いくつも質問と立てるのもどうかと思いまして

このように対応させていただきました。

ご迷惑をおかけして申し訳ありません。

編集 削除
επιστημη  URL  2007-05-10 09:11:18  No: 65038  IP: 192.*.*.*

ふたつのini-fileの

どこを比較し、
どんな条件に応じて
どのように更新するか

は、あなた以外誰にもわかりません。

編集 削除
επιστημη  URL  2007-05-10 09:29:05  No: 65039  IP: 192.*.*.*

> いくつも質問と立てるのもどうかと思いまして

そう思ってて、なんでOkWeb(教えてgoo)にも質問投げるかなー?
http://oshiete1.goo.ne.jp/qa2987859.html

編集 削除
どら  2007-05-10 18:27:26  No: 65040  IP: 192.*.*.*

結局新しく質問をたてることで、本件はCloseしたのでしょうか?
Closeしているのであれば「解決」にしてCloseさせてください。
もしCloseしていないのであれば、このスレではなにを聞きたいのかを明確にしてください。
そうでないと、回答する方もなにを答えていいのかわかりません。

編集 削除
Blue  2007-05-10 18:35:24  No: 65041  IP: 192.*.*.*

一例ってどう見てもINIファイル形式には見えない、、、

てか
>Blue 2007/05/08(火) 14:36:05 
のやり方でよさげですけど。

編集 削除
wclrp ( 'o')  2007-05-11 07:54:37  No: 65042  IP: 192.*.*.*

http://oshiete1.goo.ne.jp/qa2987859.html
を見るとWindowsのiniファイル形式じゃないな。

Windowsのiniファイル形式ではないのに
iniファイルって言っている時点ですごい迷惑。

それにちゃんと説明できていない時点で
プログラムを作れないのは当然のこと。

ちゃんと本当の目的をいって
何が出来ないか何を教えて欲しいか言えよ。

編集 削除
wclrp ( 'o')  2007-05-11 07:57:34  No: 65043  IP: 192.*.*.*

マルチって説明不足になったり放置するから迷惑
http://oshiete1.goo.ne.jp/qa2987859.html
から抜粋

niファイルのデータ結合に関するフローチャートについて
質問者:dio-dio   こんにちわdio-dioです。

今回もお助けください。

質問の内容ですが、
VC++のMFCを用いて2つのiniファイルのデータを比較し照合して
新規のファイルを作成するプログラムを組みたいと思っております。

プログラム実行例ですが、一例はこうです
<iniファイル(更新用)>
【テレビ】
朝=めざまし
昼=いいとも
夜=SMAP×SMAP

<iniファイル(マスタ用)>
【テレビ】
朝=朝ズバ!
昼=いいとも
夜=めちゃイケ
深夜=くりぃむナントカ
【芸人】
司会者=タモリ
【芸能人】
男性=オダギリジョー
女性=伊東美咲

<iniファイル(新規)>
【テレビ】
朝=めざまし
昼=いいとも
夜=SMAP×SMAP
深夜=くりぃむナントカ
【芸人】
司会者=タモリ
【芸能人】
男性=オダギリジョー
女性=伊東美咲

となります。
そのためにまずはフローチャートを作成することに成りました。

そのフローチャートの書き方がよく分かりません。
今までフローチャートは書いたことはありますが、
今回はiniファイル専用のAPI関数があったりと今まで私が
経験したものよりも複雑で混乱しています。

どなたか知恵をお貸しいただけないでしょうか?
シンプルに考えればいいとまわりからも言われているのですが、
性格上の問題でしょうか・・・うまくいきません。

簡単なことだよ!と対応できる方よろしくお願いいたします。

編集 削除
wclrp ( 'o')  2007-05-11 08:11:27  No: 65044  IP: 192.*.*.*

> 2つのiniファイルのデータを比較し照合して
> 新規のファイルを作成する
と例一つだけだとあいまいな点が多いから
大雑把な回答しか出来ないよ。

たとえば=の左は朝,昼,夜,深夜以外に存在しないのか。
というかなんでもありか、
絶対この4つだけなのかでプログラムが変わるし。

=は=のことがあるのか。

俺の解釈だが
マスタ用と更新用で=の左が同じものは更新用で上書き
マスタ用と更新用で=の左が違うものは追加
ということか?

更新用には、【芸人】、【芸能人】はないのか。
そもそも【芸人】、【芸能人】は1人じゃないよな。
どうすんの?

マスタ用で【テレビ】、【芸人】、【芸能人】が
【芸能人】、【テレビ】、【芸人】という順番だったりすることはないのか。
あったらプログラムが面倒になるな。

ところで更新用で追加は出来るけど
削除したいときってどうすんの?

とりあえず回答する側は
細かいこと無視してアドバイスするけどね。

編集 削除
wclrp ( 'o')  2007-05-11 08:28:00  No: 65045  IP: 192.*.*.*

> そのフローチャートの書き方がよく分かりません。
> 今までフローチャートは書いたことはありますが、
> 今回はiniファイル専用のAPI関数があったりと今まで私が
> 経験したものよりも複雑で混乱しています。

この件についてはiniファイル専用のAPI関数を使う必要ない。
テキストファイルから行単位に文字列を読み書きする
方法を知っていればいい。

一旦、更新用とマスタ用をメモリに読み込むほうがいいな。
そしてメモリ上で加工して新規に保存する。

更新用とマスタ用の全データをメモリに読み込めないほど
巨大ファイルなファイルの場合はこの方法使えないけどね。
以下、そんなに巨大ではない前提で話を進める。

読み込むとき行頭が【テレビ】か判断したり、
=の左と右の文字列を抽出する。

更新用とマスタ用の【テレビ】セクション内の
データ(以下、データとはメモリに読み込んだもの)で
=の左に同じものがあたらマスタ用のデータを削除。

更新用とマスタ用の両方のデータを
【テレビ】朝、昼、夜、深夜、【芸人】、【芸能人】
という順番にファイル保存すれば完成じゃないの。

編集 削除